我将一组对象转换为一个对象对象。我在代码中添加了问题,以更好地理解。
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(因此创建了对原始数组的引用),那么为什么原始数组会发生变化?
非常感谢!