让我说我有几个对象。这些对象各有四个属性,包含简单的整数。 我想为每个属性创建另一个具有最高值的对象,因此它是一个嵌合对象。当我操纵它时,我不希望它改变原件,反之亦然。
在javascript中这样做的方法是什么?一个简单的赋值会创建一个引用,但我需要一个副本。
PS:纯JS请,没有图书馆。
答案 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)
好的,发现了故障。我通过简单地复制其中一个源对象来启动结果对象,生成一个全新的对象来修复它。谢谢!