상세 컨텐츠

본문 제목

memoize

Programming/Concept

by 쌩우 2019. 5. 29. 11:06

본문

memoize
어떠한 arguments에 대한 return 값을 함수 실행시에 기억했다가,
다음 번에 같은 arguments로 함수가 실행될 시에는,
기억해놓았던 값을 바로 return하도록 하는 것이다.

let memoize = function(func) {
  var set = {};

  return function() {
    let strArgs = JSON.stringify(arguments); //함수에 입력될 arguments를 string으로 변화시켜서 어떤 객체 set의 key 값으로 사용
    if (set[strArgs] === undefined) {     
      set[strArgs] = func.apply(this, arguments);  
    }
    //만약 set에 해당하는 key값의 value가 undefined라면 새로운 실행 조건이므로 set 객체에 새로이 저장한다
    return set[strArgs];   //기억하고 있던 값이든, 새로이 기억한 값이든 return 시키도록 한다.
  };
};

'Programming > Concept' 카테고리의 다른 글

Data structure part.2 - Javascript  (0) 2019.05.29
Data structure part.1 - Javascript  (0) 2019.05.29
this - Javascript  (0) 2019.05.29
예외(예기치 못한 에러) 처리하기 - Nodejs  (0) 2019.05.14
events 모듈 - Nodejs  (0) 2019.05.14

관련글 더보기

댓글 영역