克隆javascript对象属性?

时间:2014-12-10 00:33:24

标签: javascript object properties clone

让我说我有几个对象。这些对象各有四个属性,包含简单的整数。 我想为每个属性创建另一个具有最高值的对象,因此它是一个嵌合对象。当我操纵它时,我不希望它改变原件,反之亦然。

在javascript中这样做的方法是什么?一个简单的赋值会创建一个引用,但我需要一个副本。

PS:纯JS请,没有图书馆。

2 个答案:

答案 0 :(得分:1)

听起来你正试图做这样的事情。

根据评论更新

// Source objects.
var objects = [
  { x: 3, y: 4, z: 36 },
  { x: 9, y: 5, z: 9 },
  { x: 1, y: 3, z: 100 },
  { x: 7, y: 0, z: 18 },
];

// Result object.
var result = {
    x: objects[0].x,
    y: objects[0].y,
    z: objects[0].z
};

// Set the maximum value for each property. 
for(var i = 1; i < objects.length; i++){
  result.x = Math.max(result.x, objects[i].x);
  result.y = Math.max(result.y, objects[i].y); 
  result.z = Math.max(result.z, objects[i].z); 
}

答案 1 :(得分:0)

好的,发现了故障。我通过简单地复制其中一个源对象来启动结果对象,生成一个全新的对象来修复它。谢谢!