如何从对象创建具有特定键和值的对象数组?

时间:2021-05-20 13:53:40

标签: javascript arrays object

我的初始对象是:

const initObject = {"ITEM1": "Item 1", "ITEM2: "Item 2"}

如何将其转换为:

​const convertedArray = [{value: "ITEM1", label: "Item 1"}, {value: "ITEM2", label="Item 2"}]

3 个答案:

答案 0 :(得分:2)

您可以尝试通过对象键映射使用 Object.keys()Array.prototype.map() 创建数组,如下所示:

const initObject = {"ITEM1": "Item 1", "ITEM2": "Item 2"};
const convertedArray = Object.keys(initObject).map(k => ({value: k, label: initObject[k]}));
console.log(convertedArray);

注意:您错过了在 " 中关闭 "ITEM2: "Item 2"

答案 1 :(得分:0)

您可以使用 Object.entries 获取键值对列表,您可以在其上循环并创建数组。

const initObject = {"ITEM1": "Item 1", "ITEM2": "Item 2"};
const convertedArray = Object.entries(initObject).map(([key, value]) => ({value: key, label: value}));
console.log(convertedArray);

答案 2 :(得分:0)

const convertedArray = Object.keys(initObject).map((x)=> { return {
   value : x,
 label: initObject[x]
}});