如果我有这些物品:
var first = {arr: ["foo"]};
var second = {arr: ["bar"]};
然后再做
angular.extend(first, second);
这将是州:
first.arr[0] //"bar"
first.arr === second.arr;//true
我想要第一部分,但我不希望数组成为相同的参考。
当我尝试
时angular.merge(first,second);
然后first.arr
first.arr[0]; //"foo
使用包含数组的first
属性扩展second
的正确方法是什么,但没有相同的引用?
答案 0 :(得分:1)
您可以将两个对象合并到新对象中:
angular.extend({}, first, second);
然后它应该是你想要的:
var first = {arr: ["foo"]};
var second = {arr: ["bar"]};
var result = angular.extend({}, first, second);
console.log(result.arr[0]); // bar
console.log(first.arr === second.arr); // false