Front-end_dev

2차원배열 생성기 및 인덱스범위 벗어날시 에러 강제 본문

ES6/Syntax

2차원배열 생성기 및 인덱스범위 벗어날시 에러 강제

Eat2go 2018. 11. 9. 01:38

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