자바스크립트
underdash 구현 어려웠던 두가지
하늘하늘 .
2020. 7. 15. 22:48
1
2
3
4
5
6
7
8
|
_.extend = function (obj) {
for (let i = 0; i < arguments.length; i++) {
for (let value in arguments[i]) {
obj[value] = arguments[i][value];
}
}
return obj;
};
|
cs |
arguments 가 여러가지 있을 수 있기 때문에 하나하나 다 집어넣기 위해서 for함수
arguments 값을 obj 값에다가 집어넣기 위해 = obj가 있을 때는 !== undefined를 이용(_.defaults)
1
2
3
4
5
6
7
8
9
10
11
|
_.memoize = function (func) {
let memo = {};
return function () {
if(memo[JSON.stringify(arguments)] === undefined){
memo[JSON.stringify(arguments)] = func.apply(this, arguments);
return memo[JSON.stringify(arguments)];
} else {
return memo[JSON.stringify(arguments)];
}
}
};
|
cs |
구현하는데 엄청 고민하고 찾아서 나온 결과... JSON.stringify를 이용할 줄 전혀 상상치 못해서...