gpt4 book ai didi

javascript - 将对象转换为键值对象数组,如 `{ name: "Apple",value : "0.6" }`

转载 作者:可可西里 更新时间:2023-11-01 01:56:11 24 4
gpt4 key购买 nike

我有一个这样的对象:

const total = {
"Apple": 0.6,
"Banana": 0.6,
"Orange": 1,
"Grapes": 0.4,
"Pineapple": 0.4
};

现在我想将它转换成一个键值对象数组,其中每个对象都有相同的两个属性集,"name""value",分别保存原始对象的每个属性的键和值:

[
{ "name": "Apple", "value": 0.6 },
{ "name": "Banana", "value": 0.6 },
{ "name": "Orange", "value": 1 },
{ "name": "Grapes", "value": 0.4 },
{ "name": "Pineapple", "value": 0.4 }
]

最佳答案

您可以使用 Array#map在对象键上运行并创建具有所需形状的对象。

const total = { 
'Apple': 0.6,
'Banana': 0.6,
'Orange': 1,
'Grapes': 0.4,
'Pineapple': 0.4
};

const array = Object.keys(total)
.map(key => ({ name: key, value: total[key] }))
.sort((f, s) => f.value - s.value);

console.log(array);

如果您使用 ES7 或更高版本,您可以替换 Object#keysObject#entries .也可以使用 object destructuring在参数列表中分别获取namevalue

const total = { 
'Apple': 0.6,
'Banana': 0.6,
'Orange': 1,
'Grapes': 0.4,
'Pineapple': 0.4
};

const array = Object.entries(total)
.map(([name, value]) => ({ name, value }))
.sort((f, s) => f.value - s.value);;

console.log(array);

关于javascript - 将对象转换为键值对象数组,如 `{ name: "Apple",value : "0.6" }`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47863275/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com