= 대상 배열을 인덱싱합니다.
= 음수 값을 사용하면 뒤에서부터 인덱싱합니다.
ex) const arr = ['A', 'B', 'C']
console.log(arr[0]) // A
console.log(arr.at(0)) // A
console.log(arr[arr.length - 1]) // C
console.log(arr.at(-1)) // C
= 대상 배열과 주어진 배열을 병합해 새로운 배열을 반환합니다.
ex) const arr1 = ['A','B','C']
const arr2 = ['D','E','F']
const arr3 = arr1.concat(arr2) === [...arr1, ...arr2]
console.log(arr1) // ['A','B','C']
console.log(arr2) // ['D','E','F']
console.log(arr3) // ['A','B','C','D','E','F']
= 대상 배열의 모든 요소가 콜백 테스트에서 참을 반환하는지 확인합니다.
ex) const arr = [1,2,3,4]
const isValid = arr.every(item => {
return item < 5
}
console.log(isValid) // true
= 주어진 콜백 테스트를 통과하는 모든 요소를 새로운 배열로 반환합니다.
= 모든 요소가 테스트를 통과하지 못하면 빈 배열을 반환합니다.
ex) const numbers = [1,20,7,9,104,0,58]
const filteredNumbers = numbers.filter(number => number < 30)
console.log(filteredNumbers) // [1,20,7,9,0]
ex2) const users = [
{ name: 'Neo', age: 85 },
{ name: 'Amy', age: 22 },
{ name: 'Lewis', age: 11 }
]
const adults = users.filter(user => user.age >= 19)
console.log(adults) // { name: 'Neo', age: 85 } , { name: 'Amy', age: 22 }
= 대상 배열에서 콜백 테스트를 통과하는 첫 번째 요소를 반환합니다.
ex) const arr = [5,8,130,12,44]
const foundItem = arr.find(item => item > 10)
console.log(foundItem) // 130
= 대상 배열에서 콜백 테스트를 통과하는 첫 번째 요소의 인덱스를 반환합니다.
ex) const arr = [5, 8 , 130, 12, 44]
const index = arr.findIndex(item => item > 10)
console.log(index) // 2
= 대상 배열의 모든 하위 배열을 지정한 깊이(Depth)까지 이어붙인 새로운 배열을 생성합니다.
= 깊이의 기본값은 '1'입니다.
ex) const arr = [1,2,[3,4]]
console.log(arr.flat()) // [1,2,3,4]
const arr1 = [1,2,[3,4,[5,6]]]
console.log(arr2.flat()) // [1,2,3,4,[5,6]]
console.log(arr2.flat(2)) // [1,2,3,4,5,6]
console.log(arr2.flat(Infinity)) // [1,2,3,4,5,6]
= 대상 배열의 길이만큼 주어진 콜백을 실행합니다.
ex) const arr = ['A','B','C']
arr.forEach(item => console.log(item))
실행결과
A
B
C
for (let i = 0; i< arr.length; i += 1) {
console.log(arr[i])
}
실행결과
A
B
C
차이점 = for문은 중간의 break로 멈출 수 있지만 forEach()메소드는 중간에 종료할 수가 없습니다.
.includes()
= 대상 배열이 특정 요소를 포함하고 있는지 확인합니다.
ex) const arr = [1,2,3]
console.log(arr.includes(2)) // true
console.log(arr.includes(7)) // false