Javascript如何在不改变原始数组的情况下将对象数组转换为对象对象?

时间:2019-11-30 22:01:37

标签: javascript

我将一组对象转换为一个对象对象。我在代码中添加了问题,以更好地理解。

var arr = [ 
  {key : '11', value : '1100', $$hashKey : '00X' },
  {key : '22', value : '2200', $$hashKey : '018' }
];

var result = {};
for (var i = 0; i < arr.length; i++) {
  result[arr[i].key] = arr[i];
}

//下面更改了原始数组(arr)

result["11"]["value"]="mike"

//下面的内容不会更改原始数组(arr)

result["2222"] = {key: "33", value: "deded"}

console.log(arr)

我只是不明白为什么。我从未将结果分配给arr(因此创建了对原始数组的引用),那么为什么原始数组会发生变化?

非常感谢!

0 个答案:

没有答案