对象就像
let obj = {
358708: [{},{},{}],
896308: [{},{}]
}
我想要的是这样的:
let arr = [
{ 358708:[{},{},{}] },
{ 896308:[{},{}]}
]
我尝试过像这样的Object.entries:
let arr = Object.entries(obj)
得到了错误的答案: [{[" 358708",[{},{},{}]},{" 896308",[{},{}]}]
我尝试了像这样的Object.keys和Object.values:
let keys = Object.keys(obj)
let values = Object.values(obj)
let newArr = []
for(let i = 0; i < keys.length; i++){
newArr.push({keys[i]: values[i]})
}
它不起作用。
我试过像这样的Object.keys:
let objKeys = Object.keys(obj);
let arr = objKeys.map(x => ({x: obj[x]}))
得到了错误的答案: [{x:[{},{},{}]},{x:[{},{}]}]
虽然@Ayush Gupta已经显示了正确答案,但我仍然感到困惑,为什么要添加[]?
我尝试了Converting a JS object to an array using jQuery 个答案,但我没有使用jQuery $ .map。
获得该方法的正确和最佳方法是什么?
答案 0 :(得分:0)
这应该有效:
let obj = {
358708: [{},{},{}],
896308: [{},{}]
}
let arr = Object.keys(obj).map(x => ({ [x]: obj[x]}));
console.log(arr);
&#13;