我正在尝试将 json 对象添加到 json 数组,但似乎出了问题。 我得到的数组元素是什么 -
0:{}
local:"con"
name:"con"
order:15
1:{}
local:"con"
name:"con"
order:15
我期望发生什么 -
0:{}
local:"con"
name:"con"
order:15
1:{}
local:"con2"
name:"con2"
order:16
我希望 points
数组应该具有所有唯一的 json 对象(非常 for 循环迭代),但它将所有先前添加的 json 替换为当前 json(当前迭代的)对象,并且整个数组具有相同的 json 对象在所有指数位置
代码 -
for(var i = 0; i < machineDetails.length; i++)
{
machine['name'] = machineDetails[i].name;
machine['local'] = machineDetails[i].localName;
machine['order'] = machineDetails[i].orderInLine;
points.push(machine);
console.log(points);
}
除上述之外,我尝试了 points[i].push(machine);
但它也不起作用,并抛出错误,因为 push 属性未定义
。请指出我缺少什么或我应该做什么的正确方向?
最佳答案
您需要在循环内部移动空对象的赋值,以防止相同的对象引用,从而导致内部产生相同的值。
for (var i = 0; i < machineDetails.length; i++) {
machine = {};
或更短:
for (var i = 0; i < machineDetails.length; i++) {
points.push({
name: machineDetails[i].name,
local: machineDetails[i].localName,
order: machineDetails[i].orderInLine
});
}
关于javascript - 如何在 postman 中使用 javascript 将唯一对象添加到 json 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56948634/