Javascript 以键值格式在数组上插入对象
我有一个像这样的对象集Javascript 以键值格式在数组上插入对象,javascript,arrays,Javascript,Arrays,我有一个像这样的对象集 var total = { 'Apple': 0.6, 'Banana': 0.6, 'Orange': 1, 'Grapes': 0.4, 'Pineapple': 0.4 } 为此,首先,我将检查对象的长度 var len = Object.keys(total).length; 现在我想把它转换成数组下合适的对象键值格式。大概是这样的: [ {'
var total = { 'Apple': 0.6,
'Banana': 0.6,
'Orange': 1,
'Grapes': 0.4,
'Pineapple': 0.4 }
为此,首先,我将检查对象的长度
var len = Object.keys(total).length;
现在我想把它转换成数组下合适的对象键值格式。大概是这样的:
[
{'name': 'Apple', 'value': 0.6},
{'name': 'Banana', 'value': 0.6},
{'name': 'Orange', 'value': 1},
{'name': 'Grapes', 'value': 0.4},
{'name': 'Pineapple', 'value': 0.4}
]
现在我不知道如何编写代码来解决这样的问题。
非常感谢您的帮助您可以使用对象键上的功能,创建具有所需形状的对象
const total={
“苹果”:0.6,
“香蕉”:0.6,
“橙色”:1,
“葡萄”:0.4,
“菠萝”:0.4
};
常量数组=Object.keys(总计)
.map(key=>({name:key,value:total[key]}))
.sort((f,s)=>f.value-s.value);
console.log(数组)代码>也可用于“以键值格式在数组上插入对象”:
var-total={“苹果”:0.6,“香蕉”:0.6,“橘子”:1,“葡萄”:0.4,“菠萝”:0.4};
var objArr=Object.entries(总计)
.reduce((累加器,[名称,值])=>{
return accumulator.concat({name:name,value:value});//创建一个对象数组
}, [])
.sort((a,b)=>b.value-a.value);//按降序排序
控制台日志(objArr)代码>非常可怕而且非常快。现在,如果我想要递减值顺序格式的结果,那么我如何才能实现这一点?您需要在链中添加sort
函数。一点小小的解释会大有帮助。
const result = Object.entries(total).map(([name, value]) => ({name, value}));