728x90
반응형
Array
연관있는 값(element, item)을 모아서 관리하는 자료구조이다.
배열에 저장되는 값은 순차적으로 저장되며, 고유한 index값을 가진다.
index는 객체에서의 property key와 같은 역할을 한다.
배열의 요소는 array[index] 처럼 대괄호를 사용하여 접근할 수있다.
1. Declaration (배열의 생성)
const arr1 = new Array();
const arr2 = [1, 2];
2. Index position
const fruits = ['🍎', '🍌'];
console.log(fruits); // ['🍎', '🍌']
console.log(fruits.length); // 2 배열의 개수
console.log(fruits[0]); // 🍎
console.log(fruits[1]); // 🍌
console.log(fruits[2]); // undefined
console.log(fruits[fruits.length - 1]); // 🍌 마지막 인덱스에 접근할 때 length - 1
3. Looping over an array (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) {
console.log(fruit); // 🍎, 🍌
}
C. forEach
fruits.forEach((fruit) => console.log(fruit)); // 🍎, 🍌
4. Addition, Deletion, Copy
A. push : add an item to the end (array 끝에 item 추가)
const fruits = ['🍎', '🍌'];
fruits.push('🍓', '🍑');
console.log(fruits); // ["🍎", "🍌", "🍓", "🍑"]
B. pop : remove an item from the end (array 끝에 item 삭제)
const fruits = ["🍎", "🍌", "🍓", "🍑"];
fruits.pop(); //🍑 삭제
fruits.pop(); //🍓 삭제
console.log(fruits); // ['🍎', '🍌']
C. unshift : add an an item to the beginning (array 앞에 item 추가)
const fruits = ['🍎', '🍌'];
fruits.unshift('🥝', '🍋');
console.log(fruits); ["🥝", "🍋", "🍎", "🍌"]
D. shift : remove an item from the beginning (array 앞에 item 삭제)
const fruits = ["🥝", "🍋", "🍎", "🍌"];
fruits.shift(); //🥝 삭제
fruits.shift(); //🍋 삭제
console.log(fruits); // ["🍎", "🍌"]
E. splice : remove an item by index position
const fruits = ["🍎", "🍌", "🍓", "🍑", "🍋"];
fruits.splice(1, 1); // 1번 인덱스(🍌)부터 1개만 삭제
console.log(fruits); // ["🍎", "🍓", "🍑", "🍋"]
fruits.splice(1, 2, '🍏', '🍉'); // 1번 인덱스(🍓)부터 2개 삭제, 그 자리에 🍏, 🍉 추가
console.log(fruits); // ["🍎", "🍏", "🍉", "🍋"]
F. concat : combine two arrays
const fruits = ["🍎", "🍏", "🍉", "🍋"];
const fruits2 = ['🍐', '🥥'];
const newFruits = fruits.concat(fruits2);
console.log(newFruits); // ["🍎", "🍏", "🍉", "🍋", "🍐", "🥥"]
5. Searching
A. indexOf : find the index
const fruits = ["🍎", "🍏", "🍉", "🍋"];
console.log(fruits.indexOf('🍎')); // 0
console.log(fruits.indexOf('🍉')); // 2
console.log(fruits.indexOf('🥥')); // -1 (배열안에 없는 값이면 -1이 출력)
B. includes
const fruits = ["🍎", "🍏", "🍉", "🍋"];
console.log(fruits.includes('🍉')); // true
console.log(fruits.includes('🥥')); // false
C. lastIndexOf
const fruits = ["🍎", "🍏", "🍉", "🍋"];
fruits.push('🍎');
console.log(fruits); // ["🍎", "🍏", "🍉", "🍋", "🍎"]
console.log(fruits.indexOf('🍎')); // 0
console.log(fruits.lastIndexOf('🍎')); // 4
728x90
반응형
'JavaScript' 카테고리의 다른 글
[JS] setTimeout(), setInterval() 사용 (0) | 2021.02.14 |
---|---|
[JS] JavaScript Array 2 - Array method(배열 메소드) (0) | 2021.01.30 |
[JS] getBoundingClientRect() - Viewport를 기준으로 하는 위치 값 가져오기 (0) | 2021.01.28 |
[JS] Event delegation(이벤트 위임) (0) | 2021.01.25 |
[JS] Object의 생성과 접근 & Constructor Function (0) | 2021.01.23 |