[英]How to add properties for all the keys and values in an object?
我有一個Javascript對象:
{
"Central":73322346.47533998,
"East":87801368.39711998,
"North":76468694.37534,
"South":142687496.66816995,
"West":76815749.40554999
}
我想將此對象映射到如下所示的數組中
[
{"name" :"Central ,"size" : 73322346.47533998},
{"name" : "East", "size" : 87801368.39711998},
{"name": "North","size":76468694.37534},
{"name": "South","size" :142687496.66816995},
{"name":"West","size":76815749.40554999}
]
我該怎么辦?
在ES2017中,您可以執行以下操作:
Object.entries(obj).map(([name, size])=> ({name, size}))
var obj = { "Central":73322346.47533998, "East":87801368.39711998, "North":76468694.37534, "South":142687496.66816995, "West":76815749.40554999 } var res = Object.entries(obj).map(([name, size])=> ({name, size})); console.log(res);
在ES2011(5.1),ES2015(6),...以及更高版本中,您可以執行以下操作:
Object.keys(obj).map(function(k) {
return {name: k, size: obj[k]}
})
var obj = { "Central":73322346.47533998, "East":87801368.39711998, "North":76468694.37534, "South":142687496.66816995, "West":76815749.40554999 } var res = Object.keys(obj).map(function(k) { return {name: k, size: obj[k]} }) console.log(res)
您可以遍歷對象的key
s,以獲取期望的對象數組:
var data = {"Central":73322346.47533998,"East":87801368.39711998,"North":76468694.37534,"South":142687496.66816995,"West":76815749.40554999}; var res = []; Object.keys(data).forEach((key)=>{ res.push({ name: key, size: data[key] }); }); console.log(res);
一種簡單的方法是使用for..in循環遍歷輸入對象的鍵:
const input = { "Central": 73322346.47533998, "East": 87801368.39711998, "North": 76468694.37534, "South": 142687496.66816995, "West": 76815749.40554999 }; let output = []; for (const key in input) { output.push({ "name": key, "size": input[key] }); } console.log(output);
這可能是獲得所需輸出的最快方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.