= 대상 배열의 모든 요소를 구분자로 연결한 문자를 반환합니다.
ex) const arr = ['Apple', 'Banana', 'Cherry']
console.log(arr.join()) // Apple,Banana,Cherry
console.log(arr.join(', ')) // Apple, Banana, Cherry
console.log(arr.join('/')) // Apple/Banana/Cherry
= 대상 배열의 길이만큼 주어진 콜백을 실행하고, 콜백의 반환 값을 모아 새로운 배열을 반환합니다.
ex) const numbers = [1,2,3,4]
const newNumbers = numbers.map(item => item * 2)
console.log(newNumbers) // [2,4,6,8]
ex2)
const users = [
{ name: 'Neo', age: 85 },
{ name: 'Amy', age: 22 },
{ name: 'Lewis', age: 11 }
]
const newUsers = users.map(user => {
return {
...user,
isValid: true,
email: null
}
})
console.log(newUsers)
= 대상 배열에서 마지막 요소를 제거하고 그 요소를 반환합니다.
= 대상 배열 원본이 변경됩니다.
ex) const fruits = ['Apple', 'Banana', 'Cherry']
console.log(fruits.pop()) // Cherry
console.log(fruits) // ['Apple', 'Banana']
= 대상 배열의 마지막에 하나 이상의 요소를 추가하고, 배열의 새로운 길이를 반환합니다.
= 대상 배열 원본이 변경됩니다.
ex) const fruits = ['Apple', 'Banana', 'Cherry']
const newLength = frutis.push('Orange')
console.log(newLength) // 4
console.log(frutis) // ['Apple', 'Banana', 'Cherry', 'Orange']
fruits.push('Mango', 'Strawberry')
console.log(frutis) // ['Apple', 'Banana', 'Cherry', 'Orange', 'Mango', 'Strawberry']
= 대상 배열의 길이만큼 주어진 콜백을 실행하고, 마지막에 호출되는 콜백의 반환 값을 반환합니다.
= 각 콜백의 반환 값은 다음 콜백으로 전달됩니다.
ex) const numbers = [1,2,3]
const sum = numbers.reduce((acc, cur) => {
return acc + cur
}, 0)
console.log(sum) // 6
= 대상 배열의 순서를 반전합니다.
= 대상 배열 원본이 변경됩니다.
ex) const fruits = ['A', 'B', 'C']
const reversed = arr.reverse()
console.log(reversed) // ['C', 'B', 'A']
console.log(arr) // ['C', 'B', 'A']
= 대상 배열에서 첫 번째 요소를 제거하고, 제거된 요소를 반환합니다.
= 대상 배열 원본이 변경됩니다.
ex) const fruits = ['A', 'B', 'C']
console.log(arr.shift()) // A
console.log(arr) // ['B', 'C']
= 대상 배열의 일부를 추출해 새로운 배열을 반환합니다.
= 두 번째 인수 직전까지 추출하고, 두 번째 인수를 생략하면 대상 배열의 끝까지 추출합니다.
ex) const arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G']
console.log(arr.slice(0,3)) // ['A', 'B', 'C']
console.log(arr.slice(4,-1)) // ['E', 'F']
console.log(arr.slice(4)) // ['E', 'F', 'G']
console.log(arr) // ['A', 'B', 'C', 'D', 'E', 'F', 'G']
= 대상 배열의 어떤 요소라도 콜백 테스트를 통과하는지 확인합니다.
ex) const arr = [1,2,3,4]
const isValid = arr.some(item => item > 3 )
console.log(isValid) // true
= 대상 배열을 콜백의 반환 값(음수, 양수, 0)에 따라 정렬합니다.
= 콜백을 제공하지 않으면, 요소를 문자열로 변환하고 유니코드 코드 포인트 순서로 정렬합니다.
= 대상 배열 원본이 변경됩니다.
ex) const numbers = [4, 17, 2, 103, 3, 1, 0]
numbers.sort()
console.log(numbers) // [0,1,103,17,2,3,4]
numbers.sort((a,b) => a - b) // 작은 값부터 정렬
console.log(numbers) // [0,1,2,3,4,17,103]
numbers.sort((a, b) => b - a) // 큰 값부터 정렬
console.log(numbers) // [103,17,4,3,2,1,0]
= 대상 배열에 요소를 추가하거나 삭제하거나 교체합니다.
= 대상 배열 원본이 변경됩니다.
ex) const arr = ['A', 'B', 'C']
arr.splice(2, 0, 'X')
// 여기서 2는 추가할 요소의 인덱스 위치를 말하고, 0은 뒤에 요소를 삭제할 개수를 말합니다.
console.log(arr) // ['A','B',,'X','C']
= 새로운 요소를 대상 배열의 맨 앞에 추가하고, 새로운 배열의 길이를 반환합니다.
= 대상 배열 원본이 변경됩니다.
ex) const arr = ['A','B','C']
console.log(arr.unshift('X')) // ['X','A','B','C']
console.log(arr.length)) // 4
= 유사 배열(Array-like)을 실제 배열로 반환합니다.
const arraylike = {
0: 'A',
1: 'B',
2: 'C',
length: 3
}
console.log(arraylike.construcotr === Array) /// false
console.log(arraylike.constructor === Object) // true
Array.from(arraylike).forEach(item => console.log(item)) // A,B,C
= 배열 데이터인지 확인합니다.
ex) const array = ['A','B','C']
const arraylike = {
0: 'A',
1: 'B',
2: 'C',
length: 3
}
console.log(Array.isArray(array)) // true
console.log(Array.isArray(arraylike)) // false