我是JavaScript新手。我试图创建一个从对象属性复制的变量。当我对新变量进行更改时,原始变量也会更改。如何打破两个变量之间的联系?
例如,
var a = {};
a.data = ["a", "b", "c", "d"];
var b = a.data;
b.splice(0,1);
输出如下所示。
> b
> ["b", "c", "d"]
> a.data
> ["b", "c", "d"]
我期待的是这个。
> b
> ["b", "c", "d"]
> a.data
> ["a", "b", "c", "d"]
答案 0 :(得分:5)
克隆数组:
var b = a.data.slice();