π¦ Day27
π’ μ΄ κΈμ λͺ¨λ μλ°μ€ν¬λ¦½νΈ λ₯λ€μ΄λΈ μ± μ μ 리ν κΈμ λλ€.
μλ°μ€ν¬λ¦½νΈμμμ λ°°μ΄μ ν¬μ λ°°μ΄! λμΌν λ°μ΄ν°νμ μ μ°μλ λ©λͺ¨λ¦¬κ³΅κ°μ μ°¨μ§νλ λ°°μ΄μ΄ μλλ€.
μ λ¬λ μΈμκ° 1κ°μ΄κ³ μ«μμΈ κ²½μ°, length νλ‘νΌν° κ°μ΄ μΈμμΈ λ°°μ΄ μμ±
const arr = new Array(10);
console.log(arr); // [empty * 10 ]
console.log(arr.length); // 10
// length νλ‘νΌν° κ°μ 0μ΄ μλ 10μ΄μ§λ§ μ€μ λ°°μ΄μ μμλ μ‘΄μ¬νμ§ μλλ€.
μ λ¬λ μΈμκ° μλ κ²½μ° λΉ λ°°μ΄ μμ±
new Array(); // []
μ λ¬λ μΈμκ° 2κ° μ΄μμ΄κ±°λ μ«μκ° μλ κ²½μ° μΈμλ₯Ό μμλ‘ κ°λ λ°°μ΄μ μμ±
new Array(1, 2, 3); // [1, 2, 3]
//μ λ¬λ μΈμκ° 1κ°μ§λ§ μ«μκ° μλλ©΄ μΈμλ₯Ό μμλ‘ κ°λ λ°°μ΄ μμ±
new Array({}); // [{}]
μ λ¬λ μΈμκ° 1κ°μ΄κ³ μΈμλ₯Ό μμλ‘ κ°λ λ°°μ΄ μμ±
Array.of(1) // [1]
Array.of(1,2,3) // [1,2,3]
Array.of('string') // ['string']
//μ μ¬ λ°°μ΄ κ°μ²΄ λ³ννμ¬ λ°°μ΄ μμ±
Array.from({ length: 3, 0: a, 1: b, 2: c }) // [a, b, c]
// length νλ‘νΌν°λ§ μλ μ μ¬λ°°μ΄ κ°μ²΄λ₯Ό μΈμλ‘ μ£Όλ©΄ undefined μμλ‘ λ°°μ΄μ μ±μ΄λ€
Array.from({length: 3}); // [undefined, undefined, undefined]
// μ΄ν°λ¬λΈ λ³ννμ¬ λ°°μ΄ μμ±
Array.from('hello') // ['h', 'e', 'l', 'l', 'o']
// λλ²μ§Έ μΈμλ‘ μ½λ°± ν¨μ μ λ¬ μ μ½λ°±ν¨μμ λ°νκ°μΌλ‘ μ λ°°μ΄ μμ±νμ¬ λ°ν
Array.from({ length: 3}, (_, i) => i) //
λ°°μ΄ μΈλ±μ€μλ 0μ΄μμ μ μ λλ μ μ ννμ λ¬Έμμ΄ μ¬μ©ν΄μΌ λλ€. κ·Έ μ΄μΈμ κ°μ λ£μΌλ©΄ μμκ° μλκ³ νλ‘νΌν°κ° μμ±λλ€
const arr = [];
// λ°°μ΄ μμμ μΆκ°
arr[0] = 1;
arr['1'] = 2; // μΈλ±μ€μ λ¬Έμμ΄ μ μλ₯Ό λ£μ΄λ μ«μ μ μλ‘ μλ νλ³ννλ€
// νλ‘νΌν° μΆκ°
arr['foo'] = 3; // arr.foo = 3
arr.bar = 4;
arr[1.1] = 5;
arr[-1] = 6;
console.log(arr) // [1, 2, foo: 3, bar: 4, '1.1': 5, '-1': 6]
// νλ‘νΌν°λ lengthμ μν₯μ μ£Όμ§ μλλ€(!)
console.log(arr.length); // 2
λ°°μ΄μ νΉμ μμλ₯Ό μμ νκΈ° μν΄ delete
μ°μ°μλ₯Ό μ¬μ©ν μ μλ€.
const arr = [1,2,3];
//λ°°μ΄ μμμ μμ
delete arr[1];
console.log(arr); // [1, empty, 3]
//lengthμ μν₯μ μ£Όμ§ μλλ€. ν¬μ λ°°μ΄μ΄ λλ€.
console.log(arr.length); // 3
ν¬μ λ°°μ΄μ λ§λ€μ§ μμΌλ©΄μ νΉμ μμ μμ μμ λ₯Ό μν΄μλ splice()
λ©μλλ₯Ό μ¬μ©νλ©΄ λλ€.
λ°°μ΄ λ©μλμ κ²°κ³Όλ¬Όμ λ°ννλ ν¨ν΄μ λ κ°μ§μ΄λ€.
- μλ³Έ λ°°μ΄μ μ§μ λ³κ²½νλ λ©μλ ex) push()
- μλ³Έ λ°°μ΄ λ³κ²½μκ³ μλ‘μ΄ λ°°μ΄ μμ±νμ¬ λ°ννλ λ©μλ ex) concat()
μλ³Έ λ°°μ΄ μ§μ λ³κ²½νλ λ©μλμ κ²½μ° μΈλΆ μνλ₯Ό μ§μ λ³κ²½νλ λΆμ ν¨κ³Όκ° μμΌλ―λ‘ μ¬μ©μ μ£Όμ! κ°κΈμ μλ³Έ λ°°μ΄ λ³κ²½νμ§ μλ λ©μλ μ¬μ©μ΄ κΆμ₯λλ€.
λ©μλμ μ λ¬λ μΈμκ° λ°°μ΄μ΄λ©΄ true, μλλ©΄ false λ°ν
μλ³Έ λ°°μ΄μμ μΈμλ‘ μ λ¬λ μμλ₯Ό κ²μνμ¬ μΈλ±μ€ λ°ν
const arr = [1, 2, 2, 3]
// λ°°μ΄ arrμμ μμ 2λ₯Ό κ²μ. μ€λ³΅λ μμ μμΌλ©΄ 첫λ²μ§Έλ‘ κ²μλ μμμ μΈλ±μ€ λ°ν
arr.indexOf(2); // 1
// λ°°μ΄μ μΈμλ‘ μ λ¬λ μμκ° μμΌλ©΄ -1 λ°ν
arr.indexOf(5); // -1
// λλ²μ§Έ μΈμλ κ²μμ μμν μΈλ±μ€. μλ΅νλ©΄ μ²μλΆν± κ²μ.
arr.indexOf(2, 2) // μμ 2λ₯Ό κ²μνλλ° arr[2] λΆν° κ²μνλ€
// 2
// indexOf() λ©μλλ₯Ό μ¬μ©νμ¬ λ°°μ΄μ νΉμ μμκ° μ‘΄μ¬νλμ§ νμΈνκΈ°
const color = ['red', 'yellow', 'green'];
if(color.indexOf('yellow') === -1 ){ // λ°°μ΄μ 'yellow'κ° μμΌλ©΄
color.push('yellow') // 'yellow' μμ μΆκ°
}
console.log(color); // ['red', 'yellow', 'green'];
μΈμλ‘ μ λ¬λ°μ κ°μ μλ³Έ λ°°μ΄μ κ°μ₯ λ§μ§λ§μ μΆκ°
const arr = [1, 2];
// μΈμλ‘ μ λ¬λ°μ κ°μ λ°°μ΄μ κ°μ₯ λ§μ§λ§ μμλ‘ μΆκ°νκ³ length νλ‘νΌν° κ°μ λ°ννλ€.
let result = arr.push(3,4);
console.log(result); // 4
// μλ³Έ λ°°μ΄μ μ§μ λ³κ²½νλ€.
console.log(arr) // [1, 2, 3, 4]
μλ³Έ λ°°μ΄μ λ§μ§λ§ μμλ₯Ό μ κ±°
const arr = [1, 2];
// μλ³Έ λ°°μ΄μμ λ§μ§λ§ μμ μ κ±°νκ³ μ κ±°ν μμ λ°ν
let result = arr.pop(); // 2
// pop λ©μλλ μλ³Έ λ°°μ΄ μ§μ λ³κ²½νλ€
console.log(arr); // [1]
μΈμλ‘ μ λ¬λ°μ λͺ¨λ κ°μ μλ³Έ λ°°μ΄μ κ°μ₯ 맨 μμ μΆκ°
const arr = [1, 2];
console.log(arr.length); // 2
// μΈμλ‘ μ λ¬λ°μ λͺ¨λ κ°μ μλ³Έ λ°°μ΄μ κ°μ₯ 맨 μ μμλ‘ μΆκ°
let result = arr.unshift(3,4);
// λ³κ²½λ length κ°μ λ°ν
console.log(result) // 4
// μλ³Έ λ°°μ΄ μ§μ λ³κ²½λ¨
console.log(arr) // [3,4,1,2]
λ°°μ΄μ 맨 첫λ²μ§Έ μμλ₯Ό μ κ±°.
const arr = [1, 2];
let result = arr.shift();
console.log(result); // 1
// λΉ λ°°μ΄μ΄λ©΄ undefinedλ₯Ό λ°ννλ€
// μλ³Έ λ°°μ΄ μ§μ λ³κ²½λ¨
console.log(arr); // [2]
μΈμλ‘ μ λ¬λ°μ λ°°μ΄μ ν΄μ²΄νμ¬ μλ‘μ΄ λ°°μ΄μ λ§μ§λ§ μμλ‘ μΆκ°
concat()
λ©μλλ μ λ°°μ΄μ λ°ννκΈ° λλ¬Έμ λ°λμ λ³μμ λ΄μ μ¬μ©ν΄μΌ νλ€.
μ... 곡λΆν κ²μ΄ λ무 λ§λ€..
μ΄λ ₯μλ μ¨μΌνκ³ λ¦¬μ‘νΈλ 곡λΆν΄μΌ νκ³ ..
λ¨Έλ¦Ώμμ΄ λ³΅μ‘νλ€ μ’ μ§μΉλ€..
μΌλ¨ λ΄μΌ ν μΌμ μ°μ μμλ‘ μ 리νκ³ νλμ© μ°¨κ·Όμ°¨κ·Ό ν΄λκ°μΌκ² λ€
μ λ°°μ΄μ μ€λ μκ° μ½μΌμ μ΄μ κ° μ 리 λλ¬Έμ΄μκ΅°μ?! λ©μλ μ λ¦¬κ° μλμ΄μμ΄μ λμ€μ μ°Ύμ보기 μ’μ κ² κ°μμ!! 곡λΆν μμ΄ λ§μ§λ§ νμμΌμ κ°μκ° μμΌλ μ§μ€ν μ μμκ±°μμπ νμ΄ν q(β§β½β¦q)
λ§μμ. λ°°μΈκ² λ§μ§λ§ λμ€μ μν΄ μ§μ§ μ‘°κΈλ§ νλ΄λ΄μ! π