# 배열 ## 배열의 생성 ```javascript let array1 = ["a", "b", "c"]; let array2 = new Array("a", "b", "c"); let array3 = Array("a", "b", "c"); let array4 = Array(3); // [,,] 길이가 3인 배열 let array4 = Array.of(3); // [3] ECSMScript 2015 ``` ## 인덱스 자바스크립트의 배열은 0부터 시작하는 인덱스를 사용합니다. ## 배열의 길이 ```length```는 메서드가 아니라 속성입니다. 읽기뿐만 아니라 쓰기도 할 수 있으며 length에 0을 할당하면 크기가 0인 배열이 됩니다. ```javascript let array = ["a", "b", "c"]; console.log(array.length); ``` ## 반복 ```javascript let array = ["a", "b", "c"]; /* C 스타일의 for 루프 */ for (let i = 0; i < array.length; i++) { console.log(array[i]); } /* for .. of */ for (const item of array) { console.log(item); } /* for each */ array.forEach(function (item) { console.log(item); }); /* for each with arrow function */ array.forEach((item) => console.log(item)); /* map */ array.map((item, idx)=>{ console.log(item); }); ``` ## 메서드 ```javascript concat() join() push() pop() shift() unshift() slice() splice() reverse() sort() indexOf() lastIndexOf() ``` ```javascript forEach() map() filter() every() some() reduce() reduceRight() ``` ## 배열의 해체 ```javascript let array = ["a", "b", "c"]; let [a, b] = array; console.log(a); console.log(b); ```