首页 > 解决方案 > JavaScript 中的列表操作以使其成为 JSON 对象

问题描述

我有以下列表:

0: "Ownership"
1: "Skills<br>Development"
2: "Socio-Economic<br>Development"
3: "Board Participation"
4: "Employee Structure"
5: "Preferential Procurement"
6: "Enterprise Development"
7: "Supplier Development"

我想向其中添加项目以使列表中的每个项目如下所示:

[{
    "label": "Ownership",
    "cleanTarget": 3,
    "populateTarget": 3
  },
  {
    "label": "Skills<br>Development",
    "cleanTarget": 3,
    "populateTarget": 3
  },
  {
    "label": "Supplier Development",
    "cleanTarget": 3,
    "populateTarget": 3
  }
]

依此类推,我尝试了以下方法:

var data = {
  'label': testList,
  'cleanTarget': DefaultItem,
  'populateTarget': DefaultItem
};

console.log(data);

但我的输出看起来不正确,它显示如下:

cleanTarget: 3
label: Array(8)
  0: "Ownership"
  1: "Skills<br>Development"
  2: "Socio-Economic<br>Development"
  3: "Board Participation"
  4: "Employee Structure"
  5: "Preferential Procurement"
  6: "Enterprise Development"
  7: "Supplier Development'
populateTarget: 3

标签: javascriptarrays

解决方案


Array.prototype.map如下使用。

const input = [
  "Ownership",
  "Skills<br>Development",
  "Socio-Economic<br>Development",
  "Board Participation",
  "Employee Structure",
  "Preferential Procurement",
  "Enterprise Development",
  "Supplier Development"
];

const DefaultItem = 3;
const output = input.map((item) => ({
  'label': item,
  'cleanTarget': DefaultItem,
  'populateTarget':DefaultItem
}));
console.log(output);


推荐阅读