[ JavaScript ] flatMap()
Array.prototype.flatMap() 이란? 배열의 각 요소에 주어진 콜백 함수를 적용한 다음 그 결과를 한 단계씩 평탄화하여 형성된 새 배열을 반환한다.(콜백에서 반환된 유사배열은 평탄화하지 않는다) map()뒤에 깊이 1의 flat()을 체이닝 하는 것(arr.map(...args).flat(1))과 동일하지만, 두 메서드를 따로 호출하는 것보다 더 효율적이다. const arr1 = [1, 2, 3, 4]; arr1.map((x) => [x * 2]); // [[2], [4], [6], [8]] arr1.flatMap((x) => [x * 2]); // [2, 4, 6, 8] // 오직 한 단계만 평탄화됩니다. arr1.flatMap((x) => [[x * 2]]); // [[2], [4]..
2023. 10. 31.
[ JavaScript ] 이터러블 iterable (feat. 유사배열 array-like)
이터러블 iterable 이란? [Symbol.iterator]() 메서드를 가진 객체이다. for ...of 문으로 순회할 수 있다, 스프레드 문법과 배열 디스트럭처링 할당의 대상으로 사용할 수 있는 객체 Array, String, Map, Set, DOM 컬렉션(NodeList, HTMLCollection), arguments 등이 있다 //배열에서 이터러블 표식을 없애버리면 어떻게 될까? let arr = [1,2,3] for(const a of arr) console.log (a) // 정상작동 1,2,3 arr[Symbol.iterator] = null; // 이렇게 하면 순회가 되지 않는다 for(const a of arr) console.log (a) // Uncaught TypeError:..
2023. 10. 29.