javascript - 如何在 postman 中使用 javascript 将唯一对象添加到 json 数组

标签 javascript json postman

我正在尝试将 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/

相关文章:

javascript - jquery 从 <li> 标签获取图标并将其放置到按钮中的下拉图标中

javascript - 触发回调绑定(bind)上的 Backbone.js 未按预期工作

javascript - 使用半样式 CSS 的 Font Awesome

ssl - 在 curl -k 中请求工作,但不在 Postman 中禁用 SSL

postman - 如何在POSTMAN环境中添加授权头?

javascript - Raphael zoom 超出视野 - 添加滚动条

c# - Json反序列化形式Dictionary<string, Dictionary<string, string>>

json - $.getJson 函数不起作用

json - 将 bash 变量传递给 jq

postman - 是否可以使用 htmlextra 或类似的东西生成 Postman Collection 运行的 HTML 报告,而无需通过 newman 运行?