Array Declaration & Looping
Array Declaration
const arr1 = new Array()
const arr2 = [1, 2]
forEach를 사용한 array 출력
const fruits = ['apple', 'banana']
fruits.forEach((fruit, index) => console.log(fruit, index))
// 'apple' 0
// 'banana' 1
Addition, Deletion, splice, concat
Array Addition
fruits.push('peach', 'pear') // 뒤에서 추가 push!!!
console.log(fruits)
// ['apple', 'banana', 'peach', 'pear']
fruits.unshift('lemon', 'mango') // 앞에서 추가 unshift!!!
console.log(fruits)
// ['lemon', 'mango', 'apple', 'banana', 'peach', 'pear']
Array Deletion
fruits.pop() // 뒤에서 삭제 pop!!!
console.log(fruits)
// ['lemon', 'mango', 'apple', 'banana', 'peach']
fruits.shift() // 앞에서 삭제 shift!!!
console.log(fruits)
// ['mango','apple', 'banana', 'peach']
하지만 shift와 unshift는 pop, push보다 훨씬 느리다!
splice(index, number)
fruits.push('kiwi', 'orange')
console.log(fruits)
// ['mango','apple', 'banana', 'peach', 'kiwi', 'orange']
fruits.splice(4) // index만 넣으면 index부터 이후의 모든 데이터 삭제!
console.log(fruits)
// ['mango','apple', 'banana', 'peach']
fruits.splice(1, 1) // index부터 number개를 삭제!
console.log(fruits)
// ['mango','banana', 'peach']
fruits.splice(1, 1, 'apple', 'melon') // index부터 number개를 삭제하고 데이터 추가!
// ※ number자리에 0을 넣으면 index부터 데이터 추가!
console.log(fruits)
// ['mango', 'peach', 'apple', 'melon']
concat(items) // array 합치기
const fruits2 = ['coconut']
const newFruits = fruits.concat(fruits2)
console.log(newFruits)
// ['mango', 'peach', 'apple', 'melon', 'coconut']
indexOf, includes, lastIndexOf
const fruits = ['mango', 'peach', 'apple']
console.log(fruits.indexOf('apple')) // 2
console.log(fruits.indexOf('kiwi')) // -1
console.log(fruits.includes('apple')) // true
console.log(fruits.includes('watermelon')) // false
lastIndexOf는 입력한 데이터의 마지막 index를 출력한다
fruits.push('mango', 'kiwi')
console.log(newFruits)
// ['mango', 'peach', 'apple', 'mango', 'kiwi']
console.log(fruits.indexOf('mango')) // 0
console.log(fruits.lastIndexOf('mango')) // 3