8. Array

JavaScriptμ—μ„œ 배열은 μ›μ‹œ 값이 μ•„λ‹Œ μ°Έμ‘° κ°’(객체)이닀.

  • λ°°μ—΄μ˜ 길이 쑰정이 κ°€λŠ₯ν•˜κ³ , λ‹€μ–‘ν•œ 데이터 ν˜•μ‹μ„ ν˜Όν•©ν•˜μ—¬ μ €μž₯ν•œλ‹€.

  • 인덱슀λ₯Ό μ‚¬μš©ν•˜μ—¬ μš”μ†Œμ— 접근이 κ°€λŠ₯ν•˜λ‹€. 인덱슀λ₯Ό μ‚¬μš©ν•  λ•ŒλŠ” μ–‘μˆ˜λ§Œ κ°€λŠ₯ν•˜λ‹€.

  • 인덱슀의 μ‹œμž‘μ€ 0 이닀.

  • λ°°μ—΄ 볡사 연산은 shallow copy(얕은 볡사)이닀.

JavaScript 의 λͺ¨λ“  객체의 ν‘œμ€€ λ‚΄μž₯ 볡사 연산은 얕은 볡사이닀.

length

  • λ°°μ—΄ μΈμŠ€ν„΄μŠ€μ˜ 길이λ₯Ό λ°˜ν™˜ν•œλ‹€.

  • λ°˜ν™˜ 값은 λΆ€ν˜Έ μ—†λŠ” 32λΉ„νŠΈ μ •μˆ˜ν˜•μ΄λ©°, λ°°μ—΄μ˜ μ΅œλŒ€ μΈλ±μŠ€λ³΄λ‹€ 항상 크닀.

  • length 속성에 값을 μ„€μ •ν•  경우, λ°°μ—΄μ˜ 길이λ₯Ό λ³€κ²½ν•œλ‹€.

  • length μ†μ„±μ˜ 값은 μ–‘μ˜ μ •μˆ˜μ΄λ©° 2^32 미만의 값을 κ°€μ§‘λ‹ˆλ‹€.

λ°°μ—΄ 길이 속성 λ³€κ²½

const a = [1, 2, 3];
console.log(a.length); // 3
a.length = 2;
console.log(a); // [ 1, 2 ]
a.length = 3;
console.log(a); // [ 1, 2, <1 empty item> ]

자주 μ‚¬μš©ν•˜λŠ” λ©”μ„œλ“œ

Array.prototype.at()

  • μ •μˆ«κ°’μ„ λ°›μ•„ ν•΄λ‹Ή μΈλ±μŠ€μ— μžˆλŠ” ν•­λͺ©μ„ λ°˜ν™˜

  • μ–‘μˆ˜μ™€ 음수 μ‚¬μš© κ°€λŠ₯

Array.prototype.concat()

  • 두 개 μ΄μƒμ˜ 배열을 병합

  • μƒˆ 배열을 λ°˜ν™˜(κΈ°μ‘΄ λ°°μ—΄ λ³€κ²½ν•˜μ§€ μ•ŠμŒ)

Array.prototype.entries()

  • 각 μΈλ±μŠ€μ— λŒ€ν•œ ν‚€/κ°’ μŒμ„ ν¬ν•¨ν•˜λŠ” μƒˆ λ°°μ—΄ 반볡자 객체 λ°˜ν™˜

  • λ°˜λ³΅λ¬Έμ— μ‚¬μš©ν•˜μ§€ μ•Šμ„ 경우 next() λ₯Ό ν˜ΈμΆœν•΄μ•Ό 함

Array.prototype.every()

  • λ°°μ—΄μ˜ λͺ¨λ“  μš”μ†Œκ°€ 제곡된 ν•¨μˆ˜λ‘œ κ΅¬ν˜„λœ 식을 μ‹€ν–‰ν•˜κ³  λΆˆλ¦¬μ–Έ 값을 λ°˜ν™˜

Array.prototype.fill()

  • λ°°μ—΄μ˜ 인덱슀 λ²”μœ„ 내에 μžˆλŠ” λͺ¨λ“  μš”μ†Œλ₯Ό 정적 κ°’μœΌλ‘œ λ³€κ²½

  • κΈ°μ‘΄ λ°°μ—΄ λ³€κ²½ν•˜μ—¬ λ°˜ν™˜

Array.prototype.filter()

  • μ£Όμ–΄μ§„ λ°°μ—΄μ—μ„œ 제곡된 ν•¨μˆ˜λ₯Ό ν†΅κ³Όν•œ μƒˆλ‘œμš΄ 배열을 λ°˜ν™˜

Array.prototype.find()

  • μ£Όμ–΄μ§„ λ°°μ—΄μ—μ„œ 제곡된 ν•¨μˆ˜λ₯Ό λ§Œμ‘±ν•˜λŠ” 첫 번째 μš”μ†Œ λ°˜ν™˜

  • λ§Œμ‘±ν•˜λŠ” 값이 μ—†λ‹€λ©΄ undefined λ°˜ν™˜

Array.prototype.findIndex()

  • μ£Όμ–΄μ§„ λ°°μ—΄μ—μ„œ 제곡된 ν•¨μˆ˜λ₯Ό λ§Œμ‘±ν•˜λŠ” 첫 번째 μš”μ†Œμ— λŒ€ν•œ 인덱슀λ₯Ό λ°˜ν™˜

  • λ§Œμ‘±ν•˜λŠ” μš”μ†Œκ°€ μ—†μœΌλ©΄ -1 λ°˜ν™˜

Array.prototype.findLast()

  • 배열을 μ—­μˆœμœΌλ‘œ μˆœνšŒν•˜μ—¬, 제곡된 ν•¨μˆ˜λ₯Ό λ§Œμ‘±ν•˜λŠ” 첫 번째 μš”μ†Œμ˜ κ°’ λ°˜ν™˜

  • λ§Œμ‘±ν•˜λŠ” μš”μ†Œκ°€ μ—†λ‹€λ©΄ undefined λ°˜ν™˜

Array.prototype.findLastIndex()

  • 배열을 μ—­μˆœμœΌλ‘œ μˆœνšŒν•˜μ—¬, 제곡된 ν•¨μˆ˜λ₯Ό λ§Œμ‘±ν•˜λŠ” 첫 번째 μš”μ†Œμ˜ 인덱슀 λ°˜ν™˜

  • λ§Œμ‘±ν•˜λŠ” μš”μ†Œκ°€ μ—†λ‹€λ©΄ -1 λ°˜ν™˜

Array.prototype.flat()

  • λͺ¨λ“  ν•˜μœ„ λ°°μ—΄ μš”μ†Œκ°€ μ§€μ •λœ κΉŠμ΄κΉŒμ§€ μž¬κ·€μ μœΌλ‘œ μ—°κ²°λœ μƒˆ 배열을 μƒμ„±ν•˜μ—¬ λ°˜ν™˜

  • μ€‘μ²©λœ λ°°μ—΄μ˜ ꡬ쑰λ₯Ό μ–Όλ§ˆλ‚˜ 깊이 평탄화 할지에 μ‚¬μš©λ¨

  • κΈ°λ³Έ 값은 1

Last updated