이 포스팅은 Javascript 기초 시리즈 7 편 중 7 번째 글 입니다.

  • Part 1 - 01: Introduction
  • Part 2 - 02: async, defer
  • Part 3 - 03. 변수, ES5 문제
  • Part 4 - 04. Functions
  • Part 5 - 05. Class
  • Part 6 - 06. Object
  • Part 7 - This Post
▼ 목록 보기

Declaration

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

Index Position

const fruits = ["apple", "banana"];
console.log(fruits);
(2) ["apple", "banana"]
0: "apple"
1: "banana"
length: 2
__proto__: Array(0)

proto는 일단은 넘어가도록 하자. 궁금하면 이 곳을 보고오자. 자바스크립트는 프로토타입 기반 언어라는 점만 인지하고 넘어가면 될 듯 하다.

Looping

for (let i = 0; i < fruits.length; i++) {
}

for (let fruit of fruits) {
}

fruits.forEach(function(fruit, index, array) {
    console.log(fruit, index, array);
});
apple 0 Array(2) 0: "apple"1: "banana"length: 2__proto__: Array(0)
banana 1 Array(2) 0: "apple"1: "banana"length: 2__proto__: Array(0)

혹은,

fruits.forEach((fruit, index, array) => console.log(fruit, index, array));
fruits.forEach((fruit, array) => console.log(fruit, array));
fruits.forEach((fruit) => console.log(fruit));

Addition, Deletion, Copy

// fruits = ["apple", "banana"]
fruits.push("peach"); // 뒤에서 아이템 하나 넣기 ["apple", "banana", "peach"]
fruits.pop(); // 뒤에 있는 아이템 하나를 빼기 ["apple", "banana"]
fruits.unshift("strawberry", "lemon"); // 앞에서 부터 아이템을 넣기 ["strawberry", "lemon", "apple", "banana"]
fruits.shift(); // 가장 앞에 있는 아이템 하나 빼기 ["lemon", "apple", "banana"]

unshift, shift는 연산 속도가 매우 느리다. 알고리즘 했으면 알겠쥬

fruits = ["strawberry", "lemon", "apple", "banana"]
fruits.splice(1) // 1인덱스 부터 끝 인덱스까지 삭제 ["strawberry"]

fruits = ["strawberry", "lemon", "apple", "banana"]
fruits.splice(1, 2) // 1인덱스로부터 2개 삭제 ["strawberry", "banana"] 

fruits = ["strawberry", "lemon", "apple", "banana"]
fruits.splice(1, 2, "watermelon", "melon") // 1인덱스로부터 2개 삭제 후 그 자리에 뒤에 것들을 넣어줘. ["strawberry", "watermelon", "melon", "banana"]

이렇게 slicing을 할 수 있다.

const fruits2 = ["grape", "grapefruit"]
const newFruits = fruits.concat(fruits);

Searching

// ["strawberry", "watermelon", "melon", "banana"]
fruits.indexOf("melon") // 2
fruits.indexOf("apple") // -1
fruits.includes("banana")  // true
// ["strawberry", "watermelon", "melon", "banana", "banana"]
fruits.indexOf("banana"); // 3
fruits.lastIndexOf("banana"); // 4