代码之家  ›  专栏  ›  技术社区  ›  markovuksanovic

包含对另一个数组的引用的Javascript子数组

  •  1
  • markovuksanovic  · 技术社区  · 14 年前

    我有一个数组:

    a = [1, 2, 3, 4, 5]
    b = [a[1], a[2], a[3]] //This array should be some kind of "array of references"
    

    数组b中的任何更改也应应用于数组a。

    1 回复  |  直到 14 年前
        1
  •  7
  •   Christian C. Salvadó    14 年前

    问题是 基本值 String , Number , Boolean , undefined null ),按值工作,它们是不可变的。

    如果将对象用作数组元素,则可以获得所需的行为:

    var a = [{value: 1}, {value:2}, {value:3}, {num:4}];
    var b = [a[1], a[2], a[3]];
    
    alert(a[1].value); // 2
    b[0].value = "foo";
    alert(a[1].value); // "foo"