참고 사이트 : https://ko.javascript.info/array
const animals = ['pigs', 'goats', 'sheep'];
const count = animals.push('cows');
console.log(count); // 4
console.log(animals); // ["pigs", "goats", "sheep", "cows"]
const plants = ["broccoli", "cauliflower", "cabbage", "kale", "tomato"];
console.log(plants.pop()); // "tomato"
console.log(plants); //["broccoli", "cauliflower", "cabbage", "kale"];
const array1 = [1, 2, 3];
console.log(array1.unshift(4, 5)); // 5
console.log(array1); // Array [4, 5, 1, 2, 3]
const array1 = [1, 2, 3];
const firstElement = array1.shift();
console.log(array1);// [2, 3]
console.log(firstElement);// 1
의미 | 원본 | 사용 | 반환값 | |
---|---|---|---|---|
slice | 배열을 복사 | 바뀌지x | slice(시작할 인덱스, end인덱스(end 미포함)) | 추출한 새로운 배열 |
splice | 특정 요소를 삭제, 추가함 | 바뀜 | splice(시작할 인덱스,삭제할 갯수, 추가값) | 제거할 요소가 담긴 배열 |
const animals = ['ant', 'bison', 'camel', 'duck', 'elephant'];
console.log(animals.slice(2)); //end를 지정하지 않으면 마지막 인덱스까지 다 출력함.
// output: Array ["camel", "duck", "elephant"]
console.log(animals.slice(2, 4)); //인덱스 2~3까지 복사
// output: Array ["camel", "duck"]
console.log(animals.slice(1, 5)); //인덱스 1~4까지 복사
// output: Array ["bison", "camel", "duck", "elephant"]
console.log(animals.slice(-2)); // 인덱스 순서를 역으로 셈
// output: Array ["duck", "elephant"]
console.log(animals); // 원본 배열이 바뀌지 않음!
//["ant", "bison", "camel", "duck", "elephant"]
// 예제1
const months = ["Jan", "March", "April", "June"];
console.log(months.splice(1, 1, "Feb")); // ['March'] <-삭제한게 추출됨.
console.log(months); // ["Jan", "Feb", "April", "June"] <-원본 배열이 바뀜
console.log(months.splice(4, 1, "May")); // [] <-삭제된 요소가 없고 요소가 추가만 됨
console.log(months); // ["Jan", "Feb", "March", "April", "May"]
// // 예제2
var myFish = ["angel", "clown", "drum", "sturgeon"];
console.log(myFish.splice(2, 1, "trumpet")); // ["drum"] <-삭제한게 추출됨.
console.log(myFish); // ['angel', 'clown', 'trumpet', 'sturgeon']