let myArray = [];
let myArray = new Array(n);
let myArray = [1, 2, 3];
let myArray = new Array(1, 2, 3); //위와 동일한 [1, 2, 3]
배열의 끝에 하나 이상의 요소를 추가하고, 수정된 배열의 길이를 반환한다.
let myArray = [1, 2, 3];
myArray.push(4); //4
console.log(myArray); //[1, 2, 3, 4]
myArray.push(5, 6); //6
console.log(myArray); //[1, 2, 3, 4, 5, 6]
let myArray = [1, 2, 3, 4];
myArray[7] = 1;
console.log(myArray);
//[1, 2, 3, 4, undefined, undefined, undefined, 1]
위와 같이 기존의 크기를 벗어나는 index에 값을 부여할 경우, 배열의 크기가 늘어나면서 값이 추가된다.
즉, myArray의 길이는 4에서 8로 증가, index4부터 6까지는 undefined 상태이다.
배열의 맨 앞에 하나 이상의 요소를 추가하고, 수정된 배열의 길이를 반환한다.
let myArray = [1, 2, 3];
myArray.unshift(4, 5); //5
console.log(myArray); //[4, 5, 1, 2, 3]
배열에서 마지막 요소를 제거하고, 그 요소를 반환한다.
let myArray = [1, 2, 3, 4, 5];
myArray.pop(); //5
console.log(myArray); //[1, 2, 3, 4]
배열에서 첫번째 요소를 제거하고, 그 요소를 반환한다.
let myArray = [1, 2, 3, 4, 5];
myArray.shift(); //1
console.log(myArray); //[2, 3, 4, 5];
배열에서 특정 요소의 인덱스를 반환하고, 존재하지 않을 경우 -1을 반환한다. 만약 배열 내에 해당 요소가 다수 존재할 경우, 가장 첫번째 인덱스를 반환한다.
let myArray = ['a', 'b', 'c', 'a', 'd'];
myArray.indexOf('c'); //2
myArray.indexOf('a'); //1
myArray.indexOf('e'); //-1
myArray.indexOf('a', 2); //index2에서 시작. 3
배열 안에 특정 요소가 존재하는지 판별하여 true/false로 반환한다.
let myArray = [1, 2, 3, 4, 5];
myArray.includes(1); //true
myArray.includes(7); //false
myArray.includes(1, 2); //index2에서 시작. false
myArray.includes(4, 2); //index2에서 시작. true
괄호 안 함수에 부합하는 모든 요소들을 모아 새로운 배열로 반환한다.
function isBigEnough(value) {
return value >= 10;
}
let filtered = [12, 5, 8, 130, 44].filter(isBigEnough);
//[12, 130, 44]
기존 배열에 다른 배열 혹은 값들을 이어붙인 새로운 배열을 반환한다.(기존 배열은 변경되지 않는다.)
const alpha = ['a', 'b', 'c'];
// 배열 2개 이어붙이기
const arr = [1, [2, 3]];
alpha.concat(arr); //['a', 'b', 'c', 1, [2, 3]]
// 배열 3개 이어붙이기
alpha.concat(1, [2, 3]); //['a', 'b', 'c', 1, 2, 3]
배열의 begin부터 end 전까지의 복사본을 새로운 배열로 반환한다.(기존 배열은 변경되지 않는다.)
let myArray = ['a', 'b', 'c', 'd', 'e'];
myArray.slice(2); //index2부터. ['c', 'd', 'e']
myArray.slice(2, 4); //index2부터 4 전까지. ['c', 'd']
배열의 기존 요소를 삭제하거나 그 자리에 새 요소를 추가하여 배열의 내용을 변경한다. 기존 배열이 변경된다는 점에서 slice()와 큰 차이를 가진다.
let myArray = ['a', 'b', 'c', 'd', 'e'];
//index1에서 요소 2개를 제거하고 'x', y','z'를 추가
myArray.splice(1, 2, 'x', 'y', 'z');
console.log(myArray) //['a', 'x', 'y', 'z', 'd', e']
배열 내 요소들을 지정된 함수 조건에 맞춰 정렬한 후 기존 배열에 덮어씌운다.
//기본 형태. 유니코드 순서에 따른 오름차순.
myArray.sort();
//오름차순
myArray.sort(function(a, b) {
return a - b;
});
//내림차순
myArray.sort(function(a, b) {
return b - a;
});
배열 내 모든 요소들에 대해 각각 괄호 안의 함수를 적용시켜 그 결과를 새로운 배열로 반환한다.
let myArray = [1, 2, 3, 4, 5];
myArray.map(el => el * 2); //[2, 4, 6, 8, 10]
map()과 동일하게 배열 내 모든 요소들에 대해 괄호 안의 함수를 적용시키지만 반환값이 존재하지 않는다. 함수가 실행됨에서 끝.
let myArray = [1, 2, 3, 4, 5];
myArray.forEach(el => el * 2); //undefined