suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Javascript - JS-Array-Map-Methode: Wenn das ursprüngliche Array Objekte oder Arrays enthält, ändert sich auch das ursprüngliche Array.

var list = [{'a': 1},{'a': 2}];
var newList = list.map(function(index){
    return index.a += 1;
});
console.log(newList,'newList',list,'list');
// list也改变了 list = [{'a': 2},{'a': 3}]
// 本人小白,求大神指教,勿喷,谢谢!
淡淡烟草味淡淡烟草味2806 Tage vor739

Antworte allen(2)Ich werde antworten

  • PHPz

    PHPz2017-05-19 10:44:07

    跟map没关系

    js对象是引用类型,字符和数字是基本类型

    基本类型传值是复制

    引用类型传值是引用

    举个例子:

    var a = 1;
    var b = a;
    b++;
    console.log(a);
    

    var a = [1];
    var b = a;
    b[0]++;
    console.log(a);

    Antwort
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-19 10:44:07

    你先修改了list的单个key值,再将key值返回,自然就修改了两个!

    Antwort
    0
  • StornierenAntwort