我想像这样转换一个对象:

{"1":5,"2":7,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0}

输入一个键值对数组,如下所示:

[[1,5],[2,7],[3,0],[4,0]...].

如何将对象转换为JavaScript中的键值对数组?


当前回答

使用对象。key和array# map方法。

Var obj = { “1”:5 “2”:7, “3”:0, “4”:0, “5”:0, “6”:0, “7”:0, “8”:0, “9”:0, “10”:0, “十一”:0, “12”:0 }; //获取所有对象属性名 var res = Object.keys(obj) //遍历它们并生成数组 . map(函数(k) { //生成数组元素 返回[+k, obj[k]]; }); console.log (res);

其他回答

或者你可以使用Object.assign():

Const obj = {0: 1,1: 2,2: 3}; const arr =对象。分配([],obj); console.log (arr) // arr是[1,2,3]

使用lodash,除了上面提供的答案外,还可以将键放在输出数组中。

输出数组中没有对象键

for:

const array = _.values(obj);

如果obj为以下内容:

{ “art”: { id: 1,  title: “aaaa” }, “fiction”: { id: 22,  title: “7777”} }

那么数组将是:

[ { id: 1, title: “aaaa” }, { id: 22, title: “7777” } ]

使用输出数组中的对象键

如果你写('genre'是你选择的字符串):

const array= _.map(obj, (val, id) => {
    return { ...val, genre: key };
  });

你会得到:

[ 
  { id: 1, title: “aaaa” , genre: “art”}, 
  { id: 22, title: “7777”, genre: “fiction” }
]

这是我的解决方案,我有同样的问题,似乎这个解决方案为我工作。

yourObj = [].concat(yourObj);

在Ecmascript 6中,

var obj = {"1":5,"2":7,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0};

var res = Object.entries(obj);

console.log(res);

var obj = “1”:5 “2”:7, “3”:0, “4”:0, “5”:0, “6”:0, “7”:0, “8”:0, “9”:0, “10”:0, “11”:0, “12”:0 ); var res = Object.entries(obj); 游戏机。log (res);

使用对象。key和array# map方法。

Var obj = { “1”:5 “2”:7, “3”:0, “4”:0, “5”:0, “6”:0, “7”:0, “8”:0, “9”:0, “10”:0, “十一”:0, “12”:0 }; //获取所有对象属性名 var res = Object.keys(obj) //遍历它们并生成数组 . map(函数(k) { //生成数组元素 返回[+k, obj[k]]; }); console.log (res);