이 포스팅은 Javascript 기초 시리즈 7 편 중 7 번째 글 입니다.
목차
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