HOWTO · JavaScript
在 JavaScript 中将对象转换为数组
本教程教授如何在 JavaScript 中将对象转换为键值对数组。
本页内容
对象是构成现代 JavaScript 构建块的非原始数据类型。与单一的原始数据类型不同,对象可以以复杂的方式构成多种原始数据类型。
数组是用于存储元素列表的单个变量。本教程介绍了如何在 JavaScript 中将对象转换为键值对数组。
在 JavaScript 中使用 Object.keys() 和 map() 将对象转换为数组
Object.keys() 方法有助于将对象中的所有可枚举属性检索到字符串数组中。它将对象 obj 作为参数,我们可以添加一个回调函数来获得所需的结果。
要将对象转换为数组,我们首先在对象上调用 Object.keys() 方法,然后在其输出上调用 map() 函数以将对象的键和值映射到相应数组中.它将以与对象相同的顺序包含属性。
var obj = {'2': 3, '1': 37, '23': 40, '41': 220, '115': 230};
var arr = Object.keys(obj).map(function(key) {
return [Number(key), obj[key]];
});
console.log(arr);
输出:
[[1, 37], [2, 3], [23, 40], [41, 220], [115, 230]]
在 JavaScript 中使用 Object.entries() 将对象转换为数组
Object.entries() 方法的工作原理类似于 Object.keys() 方法,你也可以使用它将对象转换为数组。但它只返回键,我们不得不使用 map() 函数在数组中重新创建可枚举的对象属性。
Object.entries() 通过直接在数组中返回答案来简化任务。像 Object.keys() 一样,属性以与对象相同的顺序返回。
var obj = {'2': 3, '1': 37, '23': 40, '41': 220, '115': 230};
var arr = Object.entries(obj);
console.log(arr);
输出:
[
[ '1', 37 ],
[ '2', 3 ],
[ '23', 40 ],
[ '41', 220 ],
[ '115', 230 ]
]