π‘ λ°°μ΄μ΄λ λ²νΈμ λ²νΈμ λμνλ λ°μ΄ν°λ€λ‘ μ΄λ£¨μ΄μ§ μλ£ κ΅¬μ‘°λ₯Ό λ§νλ€.
JSμμ λ°°μ΄μ νμ μ΄ μ격ν λ€λ₯Έ μΈμ΄λ€κ³Ό λ¬λ¦¬ λ¬Έμμ΄, μ«μ, κ°μ²΄ μ¬μ§μ΄ λ€λ₯Έ λ°°μ΄μ΄λ μ΄λ€ νμ μ κ°μ΄λΌλ λ΄μ μ μλ€.
var a = [ 1, "2", [3]];
a.length// 3
a[0] === 1; // true
a[2][0] ===3; //true
λ°°μ΄μ ν¬κΈ°λ 미리 μ νμ§ μκ³ μ μΈν μ μκ³ μνλ κ°μ μΆκ°νλ©΄ λλ€.
var a = [];
a.length // 0
a[0] = 1;
a[1] = "2";
a[2] = [3];
a.length // 3
λ°°μ΄μ μΈλ±μ€λ μ«μμΈλ° JSμμ λ°°μ΄μ κ°μ²΄μ νμ νμ
μ΄λ―λ‘ ν€/νλ‘νΌν° λ¬Έμμ΄μ μΆκ°ν μ μλ€.
μ΄λ λ°°μ΄μ lengthλ μ¦κ°νμ§ μλλ€.
var a = [];
a[0] = 1;
a["foobar"] = 2;
a.length; //1
a["foobar"] // 2
a.foobar // 2
π₯μ΄λ ν€λ‘ λ£μ λ¬Έμμ΄ κ°μ΄ νμ€ 10μ§μ μ«μλ‘ νμ μ΄ λ°λλ©΄, λ§μΉ λ¬Έμμ΄μ΄ μλ μ«μν€λ₯Ό μ¬μ©ν κ² κ°μ κ²°κ³Όκ° λμ€λ κ²μ μ£Όμ ν΄μΌνλ€.
var a = [];
a["13"] = 42;
a.length// 14
λ°λΌμ μ°λ¦¬λ κ°κΈμ μΌλ‘ λ°°μ΄μ λ¬Έμμ΄ νμ μ ν€/νλ‘νΌν°λ₯Ό μ¬μ©νμ§ λ§μ!
κ°λ μ½λ©μ νλ€λ³΄λ©΄ μ«μ μΈλ±μ€κ° κ°λ₯΄ν€λ κ°λ€μ μ§μ§ λ°°μ΄λ‘ λ°κΎΈκ³ μΆμ λκ° μλ€.
μ΄λ΄λλ λ°°μ΄ μ νΈλ¦¬ν° ν¨μλ₯Ό μ¬μ©νλ κ²μ΄ μΌλ°μ μ΄λ€.
function foo(){
var arr = Array.prototype.slice.call(arguments);
arr.push("bam");
console.log(arr);
}
foo("bar", "baz"); // ["bar", "baz", "bam"]
ES6λΆν°λ κΈ°λ³Έ λ΄μ₯ ν¨μ Array.from()μ΄ μ΄ μΌμ λμ νλ€.
var arr = Array.from(arguments);
π₯Array.from()μλ λ€λ₯Έ κ°λ ₯ν κΈ°λ₯μ΄ μλλ° μ΄λ λΉ λ°°μ΄μ μ΄κΈ°ν μν€λ κ²μ΄λ€.
Array.from(
{length : 20}, //μ μ¬ λ°°μ΄
() => Array(10).fill(0) // κ°κ° λ°°μ΄ μΈλ±μ€μ μ μ©
);
μ μ½λλ 0μΌλ‘ μ΄κΈ°ν λ 20 X 10 λ°°μ΄μ returnνλ€.
μμ κ°μ μ½λλ₯Ό μ¬μ©ν μ μλ κ²μ λ°°μ΄μ νμ
μ΄ objectμ΄κΈ° λλ¬Έμ΄λ€.
μ€λμ JSμ νΉλ³ν λ°°μ΄μ λν΄ μμ보μλ€.
λ€λ₯Έ μ격ν μΈμ΄λ€κ³Ό λ¬λ¦¬ μμ λ‘μ΄ JSμμ λ°°μ΄μ μ¬λ¬ μ€λ₯λ₯Ό λΏμ΄λΌ μ μλ μνν λꡬμ΄λ€. λν λ€μ μκ°μ λ°°μΈ λ¬Έμμ΄μ λ³κ²½ν λ μ μ©ν λκ΅¬λ‘ μμ©ν μ μλ€. (λ¬Έμμ΄λ μ μ¬ λ°°μ΄μ΄λ€!)
λ°°μ΄μ λ©μλμ νΉμ§μ μ κ³΅λΆ ν΄λμ! π₯π₯π₯