我想像这样转换一个对象:
{"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中的键值对数组?
我想像这样转换一个对象:
{"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中的键值对数组?
当前回答
使用for in
var obj = { "10":5, "2":7, "3":0, "4":0, "5":0, "6":0, "7":0,
"8":0, "9":0, "10":0, "11":0, "12":0 };
var objectToArray = function(obj) {
var _arr = [];
for (var key in obj) {
_arr.push([key, obj[key]]);
}
return _arr;
}
console.log(objectToArray(obj));
其他回答
使用对象。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);
你可以使用_.castArray(obj)。
例子: _。castArray({'a': 1}); // => [{'a': 1}]
我们可以将数字改为字符串类型的键如下所示:
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 result = Object.keys(obj).map(function(key) { 返回 [字符串(键), 对象[键]]; }); 控制台.log(结果);
你可以使用Object.keys()和map()来做到这一点
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 result = Object.keys(obj).map((key) => [Number(key), obj[key]]); 控制台.log(结果);
如果你正在使用lodash,它可以像这样简单:
var arr = _.values(obj);