7. Array

자료구조

1.비슷한 type의 object들을 묶어 놓는 것을 말함(다른 언어에서는 동일한 type의 object만 담음)

2.JS는 동적타입이기 때문에 다양한 종류를 담을 수 있다 (하지만 좋은 방법은 아님)

3.검색,삽입,삭제,정렬을 고려하여 선택하여 사용하는 것이 좋다

1. Declaration

const arr1= new Array();
const arr2 = [1, 2];

2. Index position

const fruits = [🍎, 🍌];
console.log(fruits); //[🍎, 🍌]
console.log(fruits[0]); // 🍎
console.log(fruits.[1]); // 🍌
console.log(fruits.[fruits.length -1]); // 🍌,마지막 인덱스에 접근

3. Looping over an array

// print all fruits
const fruits = [🍎, 🍌];
//for
for (let i = 0; i < fruits.length; i++) {
console.log(fruits[i]);
}
//for of
for (let fruit of fruits) {
console.log(fruit);
}
//forEach
fruits.forEach((fruit) => console.log(fruit));

4. Addtion, deletion, copy

// push: 배열 끝 추가
fruits.push(`🍓`, `🍑`);
console.log(fruits);
// pop: 배열 끝 제거
fruits.pop();
fruits.pop();
console.log(fruits);
// unshift: 배열 맨앞에 추가
fruits.unshift(`🍓`, `🍋`);
console.log(fruits);
// shift: 배열 맨앞 제거
fruits.shift();
fruits.shift();
console.log(fruits);
// splice: 지정된 포지션 인덱스 위치 제거
fruits.push(`🍓`, `🍑`, `🍋`);
console.log(fruits); 
//  ["🍎", "🍌", "🍓", "🍑", "🍋"]
// fruits.splice(1); 
// 시작하는 인덱스와 지울 갯수를 선택 (시작 인덱스, 지울갯수)
fruits.splice(1, 1);
console.log(fruits); 
//  ["🍎", "🍓", "🍑", "🍋"] 
//🍌 제거
fruits.splice(1, 1, `🍏`, `🍉`);
console.log(fruits); 
//  ["🍎", "🍏", "🍉", "🍑", "🍋"] 
//🍓 제거 후 그 자리에 🍏, 🍉 추가
// 두 배열 결합
const fruits2 = [`🌽`];
const newFruits = fruits.concat(fruits2);
console.log(newFruits); 
// ["🍎", "🍏", "🍉", "🍑", "🍋", "🌽"]
  • shift와 unshift는 정말 느리다 pop과 push 보다.
    왜냐하면

5. Searching

// indexOf
console.log(fruits); //  ["🍎", "🍏", "🍉", "🍑", "🍋"]
console.log(fruits.indexOf(`🍎`)); // 0
console.log(fruits.indexOf(`🍉`)); //  2
console.log(fruits.indexOf(`🥥`)); // -1
// includes
console.log(fruits.includes(`🍉`)); // true
console.log(fruits.includes(`🥥`)); // false
// lastIndexOf
console.clear();
fruits.push(`🍎`);
console.log(fruits); //  ["🍎", "🍏", "🍉", "🍑", "🍋", "🍎"]
console.log(fruits.indexOf(`🍎`)); // 0
console.log(fruits.lastIndexOf(`🍎`)); // 5,배열 끝부터 찾아줌

좋은 웹페이지 즐겨찾기