ν‹°μŠ€ν† λ¦¬ λ·°

πŸ“Œ .length

λ°°μ—΄μ˜ 길이(숫자)λ₯Ό λ°˜ν™˜ν•œλ‹€.

const arr = ['A', 'B', 'C']
console.log(arr.length)	// 3

 

πŸ“Œ .at

λŒ€μƒ 배열을 μΈλ±μ‹±ν•œλ‹€.

음수 값을 μ‚¬μš©ν•˜λ©΄ λ’€μ—μ„œλΆ€ν„° μΈλ±μ‹±ν•œλ‹€. μ‰½κ²Œ λ§ˆμ§€λ§‰ 값을 κ°€μ Έμ˜¬ 수 μžˆλ‹€.

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

 

πŸ“Œ .concat

λŒ€μƒ λ°°μ—΄κ³Ό μ£Όμ–΄μ§„ 배열을 병합해 μƒˆλ‘œμš΄ 배열을 λ°˜ν™˜ν•œλ‹€.

μ „κ°œ μ—°μ‚°μžλ₯Ό μ‚¬μš©ν•΄λ„ κ°€λŠ₯ν•˜λ‹€.

const arr1 = ['A','B','C']
const arr2 = ['D','E','F']
const arr3 = arr1.concat(arr2)
const arr4 = [...arr1, ...arr2]

console.log(arr3)  // [ 'A', 'B', 'C', 'D', 'E', 'F' ]
console.log(arr4)  // [ 'A', 'B', 'C', 'D', 'E', 'F' ]

 

πŸ“Œ .every()

λŒ€μƒ λ°°μ—΄μ˜ λͺ¨λ“  μš”μ†Œκ°€ 콜백 ν…ŒμŠ€νŠΈμ—μ„œ 참을 λ°˜ν™˜ν•˜λŠ”μ§€ ν™•μΈν•œλ‹€.

const arr = [1,2,3,4]
const isValid = arr.every(item => item < 5)

console.log(isValid)  // true

 

πŸ“Œ.filter()

μ£Όμ–΄μ§„ 콜백 ν…ŒμŠ€νŠΈλ₯Ό 톡과(참을 λ°˜ν™˜)ν•˜λŠ” λͺ¨λ“  μš”μ†Œλ“€μ„ μƒˆλ‘œμš΄ λ°°μ—΄λ‘œ λ°˜ν™˜ν•œλ‹€.

λͺ¨λ“  μš”μ†Œκ°€ ν…ŒμŠ€νŠΈλ₯Ό ν†΅κ³Όν•˜μ§€ λͺ»ν•˜λ©΄ 빈 λ°°μ—΄λ‘œ λ°˜ν™˜ν•œλ‹€.

const numbers = [1,20,7.9,104.0,58]
const filteredNumbers = numbers.filter(number => number < 30)

console.log(filteredNumbers)  // [ 1, 20, 7.9 ]
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 }]

 

πŸ“Œ.find()

λŒ€μƒ λ°°μ—΄μ—μ„œ 콜백 ν…ŒμŠ€νŠΈλ₯Ό ν†΅κ³Όν•˜λŠ” 첫 번째 μš”μ†Œλ₯Ό λ°˜ν™˜ν•œλ‹€.

const arr = [5, 8, 130, 12, 44]
const foundItem = arr.find(item => item > 10)
console.log(foundItem)  // 130
const users = [
  { name: 'Neo', age: 85 },
  { name: 'Amy', age: 22 },
  { name: 'Lewis', age: 11 },
]
const adult = users.find(user => user.age >= 19)	// { name: 'Neo', age: 85 }
console.log(adult)

 

πŸ“Œ.findIndex()

λŒ€μƒ λ°°μ—΄μ—μ„œ 콜백 ν…ŒμŠ€νŠΈλ₯Ό ν†΅κ³Όν•˜λŠ” 첫 번째 μš”μ†Œμ˜ 인덱슀λ₯Ό λ°˜ν™˜ν•œλ‹€.

const arr = [5, 8, 130, 12, 44]
const index = arr.findIndex(item => item > 10)
console.log(index)  // 2

 

πŸ“Œ.flat()

λŒ€μƒ λ°°μ—΄μ˜ λͺ¨λ“  ν•˜μœ„ 배열을 μ§€μ •ν•œ κΈΈμ΄κΉŒμ§€ 이어뢙인 μƒˆλ‘œμš΄ 배열을 μƒμ„±ν•œλ‹€.

길이의 κΈ°λ³Έ 값은 '1'이닀.

const arr = [1, 2, [3, 4]]
console.log(arr.flat())  // [ 1, 2, 3, 4 ]
const arr = [1, 2, [3, 4, [5, 6]]]
console.log(arr.flat(2))  // [ 1, 2, 3, 4, 5, 6 ]
const arr = [1, 2, [3, 4, [5, 6, [7,8]]]]
console.log(arr.flat(2)) 	 // [ 1, 2, 3, 4, 5, 6, [ 7, 8 ] ]
console.log(arr.flat(Infinity))  // [ 1, 2, 3, 4, 5, 6, 7, 8 ]

Infinity : ν•˜μœ„ 배열이 μ–Όλ§ˆλ‚˜ 깊게 λ“€μ–΄κ°€μ ΈμžˆλŠ”μ§€ 상관 μ•ˆν•¨

 

πŸ“Œ.forEach()

λŒ€μƒ λ°°μ—΄μ˜ 길이만큼 μ£Όμ–΄μ§„ μ½œλ°±μ„ μ‹€ν–‰ν•œλ‹€.

forλ¬Έμ—μ„œλŠ” break문을 μ‚¬μš©ν•˜μ—¬ λ°˜λ³΅μ„ μ’…λ£Œν•  수 μžˆλŠ”λ°, forEachλŠ” λ°˜λ³΅μ„ μ’…λ£Œν•  수 μ—†λ‹€.

const arr = ['A', 'B', 'C']
arr.forEach(item => console.log(item))  
// A
// B
// C

 

πŸ“Œ.includes()

λŒ€μƒ  배열이 νŠΉμ • μš”μ†Œλ₯Ό ν¬ν•¨ν•˜κ³  μžˆλŠ”μ§€ ν™•μΈν•œλ‹€.

const arr = [1,2,3]
console.log( arr.includes(7) )  // false

 

객체,λ°°μ—΄,ν•¨μˆ˜ λ°μ΄ν„°μ²˜λŸΌ μ°Έμ‘°ν˜•μ€ λ‹¨μˆœν•˜κ²Œ λͺ¨μ–‘μœΌλ‘œ κ΅¬λΆ„ν•˜λŠ” 것이 μ•„λ‹ˆλΌ

ν• λ‹Ήλœ λ³€μˆ˜, 즉 λ©”λͺ¨λ¦¬μ˜ μ£Όμ†Œλ₯Ό λΉ„κ΅ν•˜κ²Œ λœλ‹€.

const users = [
  { name: 'Neo', age: 85 },
  { name: 'Amy', age: 22 },
  { name: 'Lewis', age: 11 }
]
console.log( users.includes({ name: 'Neo', age: 85 }) )  // false

const neo = users[0]
console.log( users.includes(neo) )    // true

 

πŸ“Œ.join()

λŒ€μƒ  λ°°μ—΄μ˜ λͺ¨λ“  μš”μ†Œλ₯Ό κ΅¬λΆ„μžλ‘œ μ—°κ²°ν•œ 문자λ₯Ό λ°˜ν™˜ν•œλ‹€.

const users = [
  { name: 'Neo', age: 85 },
  { name: 'Amy', age: 22 },
  { name: 'Lewis', age: 11 }
]

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

λŒ€μƒ λ°°μ—΄μ˜ 길이만큼 μ£Όμ–΄μ§„ μ½œλ°±μ„ μ‹€ν–‰ν•˜κ³ , 콜백의 λ°˜ν™˜ 값을 λͺ¨μ•„ μƒˆλ‘œμš΄ 배열을 λ°˜ν™˜ν•œλ‹€.

const numbers = [1, 2, 3, 4]
const newNumbers = numbers.map(item => item*2)
console.log(newNumbers)  // [ 2, 4, 6, 8 ]
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)		
/* 
[
  {
    name: 'Neo',
    age: 85,
    isValid: true,
    email: null
  },
  {
    name: 'Amy',
    age: 22,
    isValid: true,
    email: null
  },
  {
    name: 'Lewis',
    age: 11,
    isValid: true,
    email: null
  }
]
*/

 

πŸ“Œ.pop()

λŒ€μƒ λ°°μ—΄μ—μ„œ λ§ˆμ§€λ§‰ μš”μ†Œλ₯Ό μ œκ±°ν•˜κ³  κ·Έ μš”μ†Œλ₯Ό λ°˜ν™˜ν•œλ‹€.

λŒ€μƒ λ°°μ—΄ 원본이 λ³€κ²½λœλ‹€.

const arr = ['Apple','Banana','Cherry']
console.log(arr.pop())  // 'Cherry'
console.log(arr)    	// [ 'Apple', 'Banana' ]

 

πŸ“Œ.push()

λŒ€μƒ λ°°μ—΄μ˜ λ§ˆμ§€λ§‰μ— ν•˜λ‚˜ μ΄μƒμ˜ μš”μ†Œλ₯Ό μΆ”κ°€ν•˜κ³ , λ°°μ—΄μ˜ μƒˆλ‘œμš΄ 길이λ₯Ό λ°˜ν™˜ν•œλ‹€.

λŒ€μƒ λ°°μ—΄ 원본이 λ³€κ²½λœλ‹€.

const arr = ['Apple','Banana','Cherry']
arr.push('Orange')
console.log(arr)  // [ 'Apple', 'Banana', 'Cherry', 'Orange' ]

 

πŸ“Œ.reduce()

λŒ€μƒ λ°°μ—΄μ˜ 길이만큼 μ£Όμ–΄μ§„ μ½œλ°±μ„ μ‹€ν–‰ν•˜κ³ , λ§ˆμ§€λ§‰μ— ν˜ΈμΆœλ˜λŠ” 콜백의 λ°˜ν™˜ 값을 λ°˜ν™˜ν•œλ‹€.

각 콜백의 λ°˜ν™˜ 값은 λ‹€μŒ 콜백으둜 μ „λ‹¬ν•œλ‹€.

 

처음 싀행될 λ•Œ μ΄ˆκΈ°κ°’ 0 은 arr둜, λ°°μ—΄μ˜ 첫번 μ§Έ 값은 cur 둜 λ“€μ–΄κ°„λ‹€.

콜백의 μ‹€ν–‰ 값은 λ‹€μŒ arr 둜 μ „λ‹¬λ˜λ©° λ‹€μŒ λ°°μ—΄μ˜ 값은 cur둜 λ“€μ–΄κ°„λ‹€.

acc : λˆ„μ λ˜λŠ” κ°’
cur :  λ°˜λ³΅λ˜λŠ” λ°°μ—΄μ˜ μ•„μ΄ν…œ
const numbers = [1, 2, 3]
const sum = numbers.reduce((acc, cur) => {
  return acc + cur
},0)
console.log(sum)  // 6
const users = [
  { name: 'Neo', age: 33 },
  { name: 'Amy', age: 22 },
  { name: 'Lewis', age: 11 }
]

/* 총 λ‚˜μ΄ 계산 */
const totalAge = users.reduce((acc,cur) => acc + cur.age , 0)
console.log(totalAge)    // 66

/* λͺ¨λ“  이름 μΆ”μΆœ */
const namesArray = users
	.reduce((acc,cur) => {
      acc.push(cur.name)
      return acc
    }, [])
    .join(', ')
console.log(namesArray);  // 'Neo, Amy, Lewis'

 

πŸ“Œ. reverse()

λŒ€μƒ λ°°μ—΄μ˜ μˆœμ„œλ₯Ό λ°˜μ „ν•œλ‹€. λŒ€μƒ λ°°μ—΄ 원본이 λ³€κ²½λœλ‹€.

const arr = ['A','B','C']
const reversed = arr.reverse()

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

 

πŸ“Œ.shift

λŒ€μƒ λ°°μ—΄μ—μ„œ 첫 번째 μš”μ†Œλ₯Ό μ œκ±°ν•˜κ³  제거된 μš”μ†Œλ₯Ό λ°˜ν™˜ν•œλ‹€. λŒ€μƒ λ°°μ—΄ 원본이 λ³€κ²½λœλ‹€.

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

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

 

πŸ“Œ.slice()

λŒ€μƒ λ°°μ—΄μ˜ 일뢀λ₯Ό μΆ”μΆœν•˜μ—¬ μƒˆλ‘œμš΄ 배열을 λ°˜ν™˜ν•œλ‹€.

두 번째 인수 μ§μ „κΉŒμ§€ μΆ”μΆœν•˜κ³ , 두 번째 인수λ₯Ό μƒλž΅ν•˜λ©΄ λŒ€μƒ λ°°μ—΄μ˜ λκΉŒμ§€ μΆ”μΆœν•œλ‹€.

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()

λŒ€μƒ λ°°μ—΄μ˜ μ–΄λ–€ μš”μ†ŒλΌλ„ 콜백 ν…ŒμŠ€νŠΈλ₯Ό ν†΅κ³Όν•˜λŠ”μ§€ ν™•μΈν•œλ‹€.

const arr = [1, 2, 3, 4]
const isValid = arr.some(item => item > 3)
console.log(isValid)  //true

 

πŸ“Œ.sort()

λŒ€μƒ λ°°μ—΄μ˜ 콜백의 λ°˜ν™˜ κ°’(음수, μ–‘μˆ˜, 0)에 따라 μ •λ ¬ν•œλ‹€.

μ½œλ°±μ„ μ œκ³΅ν•˜μ§€ μ•ŠμœΌλ©΄ μš”μ†Œλ₯Ό λ¬Έμžμ—΄λ‘œ λ³€ν™˜ν•˜κ³  μœ λ‹ˆμ½”λ“œ μ½”λ“œ 포인트 μˆœμ„œλ‘œ μ •λ ¬ν•œλ‹€. (=μž„μ˜λ‘œ μ •λ ¬)

λŒ€μƒ λ°°μ—΄ 원본이 λ³€κ²½λœλ‹€.

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 ]
// 4, 17 λ“€μ–΄μ˜€λ©΄ 4 - 17 = μŒμˆ˜μ΄λ―€λ‘œ aκ°€ b보닀 μž‘λ‹€κ³  νŒλ‹¨λ˜λ©° 4κ°€ μ•žμœΌλ‘œκ°„λ‹€.

numbers.sort((a, b) => b - a)
console.log(numbers)    // [ 103, 17, 4, 3, 2, 1, 0 ]
// 4, 17 λ“€μ–΄μ˜€λ©΄ 17 - 4 = μ–‘μˆ˜μ΄λ―€λ‘œ aκ°€ b보닀 크닀고 νŒλ‹¨λ˜λ―€λ‘œ 4κ°€ λ’€λ‘œκ°„λ‹€.
const users = [
  { name: 'Neo', age: 33 },
  { name: 'Amy', age: 22 },
  { name: 'Lewis', age: 11 }
]
users.sort((a, b) => a.age - b.age)	// [{ name: 'Lewis', age: 11 },{ name: 'Amy', age: 22 },{ name: 'Neo', age: 33 }]

 

πŸ“Œ.splice( a, b, c )

λŒ€μƒ λ°°μ—΄μ˜ μš”μ†Œλ₯Ό μΆ”κ°€/μ‚­μ œ/ꡐ체 ν•œλ‹€.

λŒ€μƒ λ°°μ—΄ 원본이 λ³€κ²½λœλ‹€.

a : μΆ”κ°€/μ‚­μ œ/ꡐ체 ν•  인덱슀 번호
b : μ•„μ΄ν…œμ„ μ‚­μ œν•  개수
c : μΆ”κ°€ν•  μ•„μ΄ν…œ
/* μΆ”κ°€ */
const arr = ['A', 'B', 'C']
arr.splice(2, 0, 'x', 'y')
console.log(arr)    // [ 'A', 'B', 'x', 'y', 'C' ]

/* μ‚­μ œ */
const arr2 = ['A', 'B', 'C']
arr2.splice(1, 1)
console.log(arr2)    // [ 'A', 'C' ]

/* ꡐ체 */
const arr3 = ['A', 'B', 'C']
arr3.splice(1, 1, 'x')
console.log(arr3)    // [ 'A', 'x', 'C' ]

 

πŸ“Œ.unshift()

μƒˆλ‘œμš΄ μš”μ†Œλ₯Ό λŒ€μƒ λ°°μ—΄μ˜ 맨 μ•žμ— μΆ”κ°€ν•˜κ³  μƒˆλ‘œμš΄ λ°°μ—΄μ˜ 길이λ₯Ό λ°˜ν™˜ν•œλ‹€.

λŒ€μƒ λ°°μ—΄μ˜ 원본이 λ³€κ²½λœλ‹€.

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

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

 

πŸ“ŒArray.from()

μœ μ‚¬ λ°°μ—΄(Array-Like)을 μ‹€μ œ λ°°μ—΄λ‘œ λ°˜ν™˜ν•œλ‹€.

μœ μ‚¬ 배열인 κ°μ²΄λŠ” ν‚€κ°€ 숫자이고 length 속성이 μžˆμ–΄μ•Όν•œλ‹€ !

const arrayLike = {
  0: 'A',
  1: 'B',
  2: 'C',
  length: 3
}

console.log(arrayLike.constructor === Array)
console.log(arrayLike.constructor === Object)

arrayLike.forEach(item => console.log(item))    // TypeError: arrayLike.forEach is not a function
Array.from(arrayLike).forEach(item => console.log(item))    // 'A','B','C'

 

πŸ“ŒArray.isArray()

λ°°μ—΄ 데이터인지 ν™•μΈν•œλ‹€.

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

 

곡지사항
μ΅œκ·Όμ— 올라온 κΈ€
μ΅œκ·Όμ— 달린 λŒ“κΈ€
Total
Today
Yesterday
링크
Β«   2025/05   Β»
일 μ›” ν™” 수 λͺ© 금 ν† 
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
κΈ€ 보관함