如何向数组中的项添加列?

Phi*_*ges 2 javascript typescript

我有一个来自后端服务器的Json对象,Data如下所示:

[{
  "categoryName": "Google",
  "id": "58591d2b7672d99910497bec",
  "clientId": "585808f6737f6aad1985eab2"
}, {
  "categoryName": "Microsoft",
  "id": "58591d3d7672d99910497bee",
  "clientId": "585808f6737f6aad1985eab2"
}, "3", {
  "categoryName": "Yahoo",
  "id": "58591d4c7672d99910497bef",
  "clientId": "585808f6737f6aad1985eab2"
}, {
  "categoryName": "Msn",
  "id": "585d25f6ae4b2ecb056bc514",
  "clientId": "585808f6737f6aad1985eab2"
}]
Run Code Online (Sandbox Code Playgroud)

我想在每一行添加一列(属性?),如下所示:

[{
  "categoryName": "Google",
  "id": "58591d2b7672d99910497bec",
  "clientId": "585808f6737f6aad1985eab2",
  "new column": ""
}, {
  "categoryName": "Microsoft",
  "id": "58591d3d7672d99910497bee",
  "clientId": "585808f6737f6aad1985eab2",
  "new column": ""
}, "3", {
  "categoryName": "Yahoo",
  "id": "58591d4c7672d99910497bef",
  "clientId": "585808f6737f6aad1985eab2",
  "new column": ""
}, {
  "categoryName": "Msn",
  "id": "585d25f6ae4b2ecb056bc514",
  "clientId": "585808f6737f6aad1985eab2",
  "new column": ""
}]
Run Code Online (Sandbox Code Playgroud)

有人怎么能这样做?

提前致谢.

nvi*_*oli 9

尝试这个:

data.forEach(function(e){
  if (typeof e === "object" ){
    e["new column"] = ""
  }
});
Run Code Online (Sandbox Code Playgroud)

需要那种类型的检查,因为3中间很奇怪。


Chy*_*bie 5

你可以这样做:

const arr = data.map(x => Object.assign({}, data, { "new column": "" }))
Run Code Online (Sandbox Code Playgroud)