강의노트 - 10

김희목·2024년 7월 19일
0

패스트캠퍼스

목록 보기
18/53

표준내장객체

배열

.join()

= 대상 배열의 모든 요소를 구분자로 연결한 문자를 반환합니다.

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

.map()

= 대상 배열의 길이만큼 주어진 콜백을 실행하고, 콜백의 반환 값을 모아 새로운 배열을 반환합니다.

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)

.pop()

= 대상 배열에서 마지막 요소를 제거하고 그 요소를 반환합니다.
= 대상 배열 원본이 변경됩니다.

ex) const fruits = ['Apple', 'Banana', 'Cherry']

console.log(fruits.pop()) // Cherry
console.log(fruits) // ['Apple', 'Banana']

.push()

= 대상 배열의 마지막에 하나 이상의 요소를 추가하고, 배열의 새로운 길이를 반환합니다.
= 대상 배열 원본이 변경됩니다.

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']

.reduce()

= 대상 배열의 길이만큼 주어진 콜백을 실행하고, 마지막에 호출되는 콜백의 반환 값을 반환합니다.
= 각 콜백의 반환 값은 다음 콜백으로 전달됩니다.

ex) const numbers = [1,2,3]
const sum = numbers.reduce((acc, cur) => {
return acc + cur
}, 0)

console.log(sum) // 6

.reverse()

= 대상 배열의 순서를 반전합니다.
= 대상 배열 원본이 변경됩니다.

ex) const fruits = ['A', 'B', 'C']

const reversed = arr.reverse()

console.log(reversed) // ['C', 'B', 'A']
console.log(arr) // ['C', 'B', 'A']

.shift()

= 대상 배열에서 첫 번째 요소를 제거하고, 제거된 요소를 반환합니다.
= 대상 배열 원본이 변경됩니다.

ex) const fruits = ['A', 'B', 'C']

console.log(arr.shift()) // A
console.log(arr) // ['B', 'C']

.slice()

= 대상 배열의 일부를 추출해 새로운 배열을 반환합니다.
= 두 번째 인수 직전까지 추출하고, 두 번째 인수를 생략하면 대상 배열의 끝까지 추출합니다.

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']

.some()

= 대상 배열의 어떤 요소라도 콜백 테스트를 통과하는지 확인합니다.

ex) const arr = [1,2,3,4]
const isValid = arr.some(item => item > 3 )

console.log(isValid) // true

.sort()

= 대상 배열을 콜백의 반환 값(음수, 양수, 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]

.splice()

= 대상 배열에 요소를 추가하거나 삭제하거나 교체합니다.
= 대상 배열 원본이 변경됩니다.

ex) const arr = ['A', 'B', 'C']
arr.splice(2, 0, 'X')
// 여기서 2는 추가할 요소의 인덱스 위치를 말하고, 0은 뒤에 요소를 삭제할 개수를 말합니다.
console.log(arr) // ['A','B',,'X','C']

.unshift()

= 새로운 요소를 대상 배열의 맨 앞에 추가하고, 새로운 배열의 길이를 반환합니다.
= 대상 배열 원본이 변경됩니다.

ex) const arr = ['A','B','C']

console.log(arr.unshift('X')) // ['X','A','B','C']
console.log(arr.length)) // 4

Array.from()

= 유사 배열(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

Array.isArray()

= 배열 데이터인지 확인합니다.

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

0개의 댓글