Front-end_dev
2차원배열 생성기 및 인덱스범위 벗어날시 에러 강제 본문
GenTwoDimArr() 함수는 초기에 입력받은 파라미터로 2차원 배열을 생성하고 각 row가 초기에 입력받은 col값을 넘어섰을때 에러를 강제시킴.
const GenTwoDimArr = (row,col) => {
let arr = [];
for(let i=0; i<row; i++) {
arr[i] = new Proxy([], {
get(target, prop, receiver) {
return target[prop];
},
set(target, property, value, receiver) {
if(target.length > col) // if length of array is overflowed, it will be force to generate error
return false;
else {
target[property] = value;
return true;
}
}
});
}
for(let i=0; i<row; i++) {
for(let j=0; j<col; j++)
arr[i][j] = Math.floor(Math.random() * 10); // init with random value
}
return arr;
}
'ES6 > Syntax' 카테고리의 다른 글
simple iterator(generator) example (0) | 2018.12.11 |
---|---|
dynamically assigning name to function in ES6 & C++ (0) | 2018.12.07 |
Promise 몸풀기 (0) | 2018.08.06 |
ES7 decorator (0) | 2017.12.24 |
디자인패턴... (0) | 2017.04.05 |