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}] // 本人小白,求大神指教,勿喷,谢谢!
跟map没关系
js对象是引用类型,字符和数字是基本类型
基本类型传值是复制
引用类型传值是引用
举个例子:
var a = 1; var b = a; b++; console.log(a);
和
var a = [1]; var b = a; b[0]++; console.log(a);
你先修改了list的单个key值,再将key值返回,自然就修改了两个!
跟map没关系
js对象是引用类型,字符和数字是基本类型
基本类型传值是复制
引用类型传值是引用
举个例子:
和
你先修改了list的单个key值,再将key值返回,自然就修改了两个!