Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.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_Json_Loops - Fatal编程技术网

Javascript:迭代对象数组并形成新数组

Javascript:迭代对象数组并形成新数组,javascript,json,loops,Javascript,Json,Loops,我想按如下方式转换以下数组: [{'dog' : 2} {'cat' : 4} , {'chimp' : 3}] -> [{'text' : 'dog', 'size' : 2}, {'text' : 'cat', 'size' : 4}, {'text' : 'chimp', 'size' : 3}] 伪码 for obj in array: new_obj = {'text' : obj.key, 'size' : obj.val} new_array.append(

我想按如下方式转换以下数组:

[{'dog' : 2} {'cat' : 4} , {'chimp' : 3}] -> [{'text' : 'dog', 'size' : 2}, {'text' : 'cat', 'size' : 4}, {'text' : 'chimp', 'size' : 3}]
伪码

for obj in array:
    new_obj = {'text' : obj.key, 'size' : obj.val}
    new_array.append(new_obj)
return new_array

没那么难,你可以用

Array.map
Object.keys()

让arr=[{
"狗":2
}, {
猫:4
}, {
“黑猩猩”:3
}];
让结果=arr.map(a=>{
设key=Object.key(a)[0];
返回{
文本:键,
大小:a[键]
}
});

控制台日志(结果)
为什么要使用
let
?@webdeb为什么要使用const?;-)@RobG,因为我不打算重新分配variable@webdeb-我想关键是OP没有推断出任何标准来确定var、let或const中的任何一个是否比另一个更合适。因此,质疑其中一个的使用是没有意义的。我使用var,除非显式需要const或let,但这只是我的问题。;-)我完全同意,就让我聪明点吧,这不是常数
const newArray = oldArray.map(item => {
  const key = Object.keys(item)[0];
  // Add some guard to handle empty objects..

  return { text: key, size: item[key] };
});