이터러블 이터레이션 프로토콜 이터레이션 프로토콜은 순회 가능한 데이터 컬렉션(자료구조)을 만들기 위해 ECMAScript 사양에 정의하여 미리 약속한 규칙이다. 이터레이션 프로토콜에는 이터러블 프로토콜과 이터레이터 프로토콜이 있다. 이터러블 프로토콜 : Symbol.iterator를 프로퍼티 키로 사용한 메서드를 직접 구현하거나 프로토타입 체인을 통해 상속 받은 Symbol.iterator 메서드를 호출하면 이터레이터 프로토콜을 준수한 이터레이터를 반환한다. 이터러블 프로토콜을 준수한 객체를 이터러블이라 한다. for...of 문으로 순회할 수 있으며 스프레드 문법과 배열 디스트럭처링 할당의 대상으로 사용할 수 있다. 이터레이터 프로토콜 : 이터러블의 Symbol.iterator 메서드를 호출하면 이터레..
풀이 function solution(arr, divisor) { for(let i=0;i{ return a-b; }) if(answer.length===0){ answer.push(-1) } return answer; } function solution(arr, divisor) { let answer = []; arr.map((i) => { i % divisor === 0 && answer.push(i); }) return answer.length ? answer.sort((a, b) => a - b) : [-1]; } 위는 map과 삼항연산자를 사용하지 않은 경우이고 밑에는 map과 삼항연산자로 같은 코드이지만 조금 더 깔끔하게 표현한 경우이다. 저번 글에서도 올렸는데 숫자비교를 할때는 sort를 저..
map() 메서드는 배열 내의 모든 요소 각각에 대하여 주어진 함수를 호출한 결과를 모아 새로운 배열을 반환합니다. 아마 이 함수를 사용하기 전에는 for문으로 해결했을 겁니다. map은 장점이 있지만 경우에 따라 for문을 사용해야 하는 경우도 있습니다. const array1 = [1, 4, 9, 16]; // pass a function to map const map1 = array1.map(x => x * 2); console.log(map1); // expected output: Array [2, 8, 18, 32] 간단한 map 예제입니다. array1의 각각의 요소에 접근해서 *2를 하고 그 배열을 return해줍니다. var kvArray = [{key:1, value:10}, {key:2..