{"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.parse.
在ES2015中有Object.values
救援,这使得这一切变得轻而易举
var arr = Object.values(obj);