javascript - 将带有数字键的 JavaScript 对象转换为数组

我有一个像这样的对象作为来自服务器的 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/

相关文章:

c# - 将 JSON 字符串转换为 C# 对象

json - HTTP 中的 "406-Not Acceptable Response"是什么?

java - 在 Java 中使用 JSON 的 HTTP POST

json - 如何使用 JSON 对象初始化 TypeScript 对象?

json - JSON 语法是否允许对象中有重复的键?

json - 如何通过 JSON 文件传递​​有效载荷以进行 curl?

java - 如何指定 jackson 只使用字段 - 最好是全局

python - NumPy 数组不是 JSON 可序列化的

c# - 在序列化 'SubSonic.Schema .DatabaseColumn' 类型的对象时

java - 将 JSON 转换为 map