将带有数字键的 JavaScript 对象转换为数组
2022-08-30 01:55:29
我有一个像这样的对象作为来自服务器的JSON响应返回:
{
"0": "1",
"1": "2",
"2": "3",
"3": "4"
}
我想把它转换成一个JavaScript数组,如下所示:
["1","2","3","4"]
有没有最好的方法来做到这一点?无论我在哪里阅读,人们都在使用循环的复杂逻辑。那么有没有替代方法来做到这一点呢?
我有一个像这样的对象作为来自服务器的JSON响应返回:
{
"0": "1",
"1": "2",
"2": "3",
"3": "4"
}
我想把它转换成一个JavaScript数组,如下所示:
["1","2","3","4"]
有没有最好的方法来做到这一点?无论我在哪里阅读,人们都在使用循环的复杂逻辑。那么有没有替代方法来做到这一点呢?
它实际上非常直接与jQuery的$.map
一起前进。
var arr = $.map(obj, function(el) { return el });
而且几乎同样容易,没有jQuery,将键转换为数组,然后使用Array.map
映射回值
var arr = Object.keys(obj).map(function(k) { return obj[k] });
这是假设它已经被解析为javascript对象,并且实际上不是JSON,JSON是一种字符串格式,在这种情况下,也需要运行。JSON.parse
在ES2015中,有Object.values
来救援,这使得这变得轻而易举
var arr = Object.values(obj);
var json = '{"0":"1","1":"2","2":"3","3":"4"}';
var parsed = JSON.parse(json);
var arr = [];
for (var x in parsed) {
arr.push(parsed[x]);
}
console.log(arr)
希望这就是你所追求的!