一尘不染

将具有数字键的JavaScript对象转换为数组

javascript

我有一个像这样的对象作为服务器的JSON响应返回:

{"0":"1","1":"2","2":"3","3":"4"}

我想将其转换为如下所示的JavaScript数组:

["1","2","3","4"]

有没有最好的方法来做到这一点?无论我在哪里阅读,人们都在使用使用循环的复杂逻辑。那么有替代方法可以做到这一点吗?


阅读 299

收藏
2020-04-25

共1个答案

一尘不染

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是一种字符串格式),在这种情况下,JSON.parse也需要进行遍历。

在ES2015中Object.values,可以轻松进行救援

var arr = Object.values(obj);
2020-04-25