배열을 공부할 때는 배열이 index 를 기준으로 데이터가 저장이 되기 때문에 이 index 를 활용해서 어떻게 데이터를 검색하고 삽입하고 삭제하는 지 등을 정확하게 아는 것이 중요하다. ✍️
const fruits = ['🍏', '🍎'];
fruits.push('🥝','🍓');
console.log(fruits);
// ["🍏", "🍎", "🥝", "🍓"]
const fruits = ['🍏', '🍎', '🥝', '🍓'];
fruits.pop();
fruits.pop(); // 한번더 복사해서 붙이면 뒤에서 두 개가 삭제된다
console.log(fruits);
// ["🍏", "🍎"]
const fruits = ['🍏', '🍎'];
fruits.unshift('🍉','🥥');
console.log(fruits);
// ["🍉", "🥥", "🍏", "🍎"]
const fruits = ['🍉', '🥥', '🍏', '🍎'];
fruits.shift();
fruits.shift(); // 한번더 복사해서 붙이면 앞에서 두 개가 삭제된다
console.log(fruits);
// ["🍏", "🍎"]
📌 shift, unshift는 pop과 push보다 매우 느리다.
unshift
나, 맨앞의 데이터를 지우고 기존 아이템들을 전부 앞으로 이동시켜야 하는 처리 shift
때문에 삽입,삭제가 굉장히 오래걸린다.const fruits = ['🍏', '🍎', '🍒','🍋'];
fruits.splice(2,1);
console.log(fruits); // ["🍏", "🍎", "🍋"]
fruits.splice(1,0,'🫐');
console.log(fruits); // ["🍏", "🫐", "🍎", "🍋"]
const fruits = ['🍏', '🫐', '🍎', '🍋']
console.log(fruits.slice(2)); // ["🍎", "🍋"]
console.log(fruits.slice(1,4)); // ["🫐", "🍎", "🍋"]
console.log(fruits.slice(-1)); // ["🍋"]
console.log(fruits.slice(0,-2)); // ["🍏", "🫐"]
const fruits = ['🍏', '🍎',];
const fruits2 = ['🍊','🍍'];
const newFruits = fruits.concat(fruits2);
console.log(newFruits);
// ["🍏", "🍎", "🍊", "🍍"]
const fruits = ['🍏', '🍎', '🫐', '🍋', '🍑']
console.log(fruits.indexOf('🍎')); // 1
console.log(fruits.indexOf('🍋')); // 3
console.log(fruits.indexOf('🌽')); //-1 (없는 값을 출력하면 -1이 출력된다.)
const fruits = ['🍏', '🍎', '🫐', '🍏', '🍏']
console.log(fruits.lastIndexOf('🍏')); // 4
const fruits = ['🍏', '🍎', '🫐', '🍋', '🍑']
console.log(fruits.includes('🫐')); // true
console.log(fruits.includes('🌽')); // false (가지고 있지 않음)
Array.isArray
는 주어진 인수가 배열이면 true, 배열이 아니면 false를 반환한다.// true
Array.isArray([]);
Array.isArray([1, 2]);
Array.isArray(new Array());
// false
Array.isArray();
Array.isArray({});
Array.isArray(null);
Array.isArray(undefined);
Array.isArray(1);
Array.isArray('Array');
Array.isArray(true);
Array.isArray(false);
new Array()
문법을 사용해도 배열을 만들 수 있다.let arr = new Array(2);
console.log( arr[0] );
console.log( arr.length );
// console.log( arr ); // [undefined, undefined]
1행
: 이렇게 하면 배열 [2]가 만들어질까?
3행
: undefined가 출력된다. 요소가 하나도 없는 배열이 만들어진 것이다.
5행
: 길이는 2이다.
✍️ 이런 뜻밖의 상황을 마주치지 않기 위해 new Array()
의 기능을 잘 알지 못한다면 대괄호를 써서 배열을 만들어야 겠다 !
reference
javascript-array dreamCoding foiemaweb MDN w3schools