我想像这样转换一个对象:
{"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中的键值对数组?
当前回答
这是我的解决方案,我有同样的问题,似乎这个解决方案为我工作。
yourObj = [].concat(yourObj);
其他回答
最好的办法是:
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.entries(obj); 控制台.log(结果);
如图所示,调用条目将根据调用者的请求返回[key, value]对。
或者,也可以调用Object.values(obj),它只返回值。
在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);
你可以使用3个方法将对象转换为数组(任何人都可以参考,不仅是这个问题(第三个是最合适的,回答这个问题) 种(),Object.values (), andObject.entries ()
3种方法的示例
使用种()
const text= {
quote: 'hello world',
author: 'unknown'
};
const propertyNames = Object.keys(text);
console.log(propertyNames);
result
[ 'quote', 'author' ]
使用Object.values ()
const propertyValues = Object.values(text);
console.log(propertyValues);
结果
[ 'Hello world', 'unknown' ]
使用Object.entires ()
const propertyValues = Object.entires(text);
console.log(propertyValues);
结果
[ [ 'quote', 'Hello world' ], [ 'author', 'unknown' ] ]
使用对象。以键值格式获取Object的每个元素,然后像这样映射它们:
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).map(([k, v]) => ([Number(k), v])); console.log(res);
但是,如果你确定键是按递进顺序排列的,你可以使用Object。values和Array#map来做这样的事情:
var obj ={“2”,“1”:5:7,“3”:0,“4”:0,“5”:0,“6”:0,“7”:0,“8”:0,“9”:0,“10”:0,“11”:0,“12”:0}; // idx是索引,你可以使用任何逻辑来增加它(从0开始) let result = Object.values(obj)。Map ((e, idx) => ([++idx, e])); console.log(结果);
使用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));