출처 : 유튜브 드림코딩 자바스크립트
▪️ 자료 구조 : 비슷한 것들을 한 데 묶어놓는 것. 비슷한 type의 object들을 묶어놓는 것. (ex array)
▪️object : 서로 연관된 특징과 행동들을 묶어놓는 것.
JS === dynamically typed language
=> type이 없기 때문에 다양한 종류들을 한 데 묶어 놓을 수 있지만 좋은 방식은 아님!
const arr1 = new Array();
const arr2 = [1, 2];
const fruits = ['🍎', '🍌'];
console.log(fruits);
console.log(fruits.length);
console.log(fruits[0]);
console.log(fruits[fruits.length -1]);//배열의 마지막 index item 가져오는 법
print all fruits
a. for
for (let i = 0 ; i <fruits.length ; i ++){
console.log(fruits[i]);
}
b. for of
for(let fruit of fruits){ //let 써주는 것 잊지말기!
console.log(fruit);
}
c. forEach
fruits.forEach(function(fruit, index){
console.log(fruit, index)
});
fruits.forEach(fruit => console.log(fruit));
▪️ push: add an item to the end
fruits.push('🍊','🍒');
console.log(fruits);
▪️ pop: remove an item from the end
fruits.pop();// 🍒 없어짐. 마지막으로 추가한 아이템이 없어진다.
fruits.pop();// 🍊 없어짐.
console.log(fruits);
▪️ unshift : add an item to the beginning
fruits.unshift('🍇', '🍉');
console.log(fruits); //item이 배열 앞에 추가된다.
▪️ shift : remove an item from the beginning //shift : 당겨오다, 움직이다
fruits.shift(); // 🍇 사라짐
console.log(fruits);
note!!) shift, unshift are slower than pop, push
결론) push와 pop을 쓰는 것이 좋다.
▪️ splice : remove an item by index position splice : 이어주다 이런 의미
설명란) splice(start: number, deleteCount?: number): string[]
seleteCount 뒤의 ? 는 optional 이라는 뜻. 값을 지정해도 되고 안해도 된다.
fruits.push('🍈','🍅','🥭');
console.log(fruits);
fruits.splice(1 , 1) ;
console.log(fruits); // deleteCount를 적지 않으면, 맨 앞의 아이템인 🍉 제외하고 다 지워버림.
fruits.splice(1,1,'🥝','🍍');
console.log(fruits); // 두번째 item을 지우고 그 자리에 위의 두 아이템을 추가함.
concat : combine two arrays
const fruits2 = ['🥒','🫐'];
const newFruits = fruits.concat(fruits2);
console.log(newFruits);
▪️ indexOf : find the index
console.log(fruits);
console.log(fruits.indexOf('🍅')); //4 출력
▪️ includes
console.log(fruits.includes('🥝'));// true 출력. 배열이 해당 item을 포함하고 있는지를 확인해줌
console.log(fruits.includes('🧀'));// false
▪️ lastIndexOf : 해당 item중 가장 마지막 index의 item을 출력한다.
fruits.push('🍉');
console.log(fruits.indexOf('🍉')); // 0 출력
console.log(fruits.lastIndexOf('🍉')); // 6 출력