我有一个像这样的对象作为来自服务器的 JSON 响应返回:
{
"0": "1",
"1": "2",
"2": "3",
"3": "4"
}
我想把它转换成这样的 JavaScript 数组:
["1","2","3","4"]
有没有最好的方法来做到这一点?无论我在哪里阅读,人们都在使用循环使用复杂的逻辑。那么有没有其他方法可以做到这一点?
最佳答案
使用 jQuery 的 $.map
实际上非常简单。
var arr = $.map(obj, function(el) { return el });
FIDDLE
没有 jQuery 也几乎一样简单,将键转换为数组,然后使用 Array.map
映射回值
var arr = Object.keys(obj).map(function(k) { return obj[k] });
FIDDLE
这是假设它已经被解析为一个 javascript 对象,并且实际上不是 JSON,它是一种字符串格式,在这种情况下,运行 JSON.parse
也是必要的。
在 ES2015 中有 Object.values
救援,这使这变得轻而易举
var arr = Object.values(obj);
https://stackoverflow.com/questions/20881213/