Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 以键值格式在数组上插入对象_Javascript_Arrays - Fatal编程技术网

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}));