javascript - 如何在 JavaScript 中将 object.key 添加到现有数组?

标签 javascript arrays

我想向我的 JSON 数组添加一个新的 object.key。

为此,我定义了一个新变量 var result = {"bad":1} 然后我插入 像这样的项目 skippedData.push(item.metadata["pico:record"]["dc:description"],{result});

作为 JSON 输出,我有:

[
  {
    "skippedData": [
      {
        "_": "Lungo le mura, al posto del baluardo nord-est, la cosiddetta Fortezza medicea è un degradato complesso di corpi di fabbrica eretti nella 2ª metà del '500 attorno al trecentesco cassero senese.",
        "$": {
          "xml:lang": "it"
        }
      },
      {
        "result": {
          "bad": 1
        }
      }
    ]
  }
]

这是错误的,因为我有一个新的“结果”对象而不是“结果”对象键。

我的预期输出应该是:


[
  {
    "skippedData": [
      {
        "_": "Lungo le mura, al posto del baluardo nord-est, la cosiddetta Fortezza medicea è un degradato complesso di corpi di fabbrica eretti nella 2ª metà del '500 attorno al trecentesco cassero senese.",
        "$": {
          "xml:lang": "it"
        },
        "result": {
          "bad": 1
        }
      }
    ]
  }
]

我做错了什么?

问候

最佳答案

skippedData 是一个数组。 您正在使用push method这是向数组添加元素。

据我了解,您想在一个对象中添加来自两个源的数据,因此您可以使用这种方式使用 spread 在那里构建新对象。 :

skippedData.push({ 
  ...item.metadata["pico:record"]["dc:description"],
  ...{result}
});

或等于Object.assign

skippedData.push(Object.assign(
  {},
  item.metadata["pico:record"]["dc:description"],
  {result}
));

如果你想确切地修改数组中已经存在的对象,你可以通过键引用它,例如

skippedData[0].result = result

关于javascript - 如何在 JavaScript 中将 object.key 添加到现有数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58912789/

相关文章:

javascript - 如何动态地将 XML 节点和内容加载到变量中

javascript - jquery从php脚本预加载图像然后显示

javascript - 如何对齐 yii2 表单域中的文本框?

javascript - 动态元素的绝对中心

javascript - 在谷歌图表仪表板中向下钻取

javascript - 将数组值从字符串更改为数字

python - 对 numpy 数组进行子采样?

javascript - 给定一组 6 位数字,找出所有可能的 "non-duplicate"组合

c++ - 指针的使用 - 非常困惑! C++

JavaScript:将数组的项插入另一个数组