如何在对象数组中添加带有值的属性

时间:2021-05-11 13:24:34

标签: javascript jquery reactjs

这是我给的输入

{
header: "dc_header.png"
icon: "dc_icon.png"
id: "DCA"
latitude: 38.89511
longitude: -77.03637
name: "Washington DC"
}

我想在其中添加距离

{
header: "dc_header.png"
icon: "dc_icon.png"
id: "DCA"
latitude: 38.89511
longitude: -77.03637
name: "Washington DC"
**distance: 10**
}

我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:1)

您可以通过以下方式向对象添加新的键值对:

read()

您应该将“objectName”更改为对象的名称。

答案 1 :(得分:0)

如果这确实是 React 问题,那么潜在地修改状态是一个坏主意。我建议您将原始对象扩展到一个新对象上,并在最后添加附加属性。

const obj = {
  header: "dc_header.png",
  icon: "dc_icon.png",
  id: "DCA",
  latitude: 38.89511,
  longitude: -77.03637,
  name: "Washington DC"
};

const modifiedObj = {
  ...obj,
  distance: 10
};

console.log(modifiedObj);
.as-console-wrapper { top: 0; max-height: 100% !important; }

如果您要映射对象,可以类似地执行此操作:

const distances = [ 10 ];

const objs = [{
  header: "dc_header.png",
  icon: "dc_icon.png",
  id: "DCA",
  latitude: 38.89511,
  longitude: -77.03637,
  name: "Washington DC"
}];

const modifiedObjs = objs.map((obj, index) => ({
  ...obj,
  distance: distances[index]
}));

console.log(modifiedObjs);
.as-console-wrapper { top: 0; max-height: 100% !important; }

相关问题