JavaScript 对象转数组

在 JavaScript 中,对象(Object)是以 “键值对” 的形式来存储数据的,而数组(Array)则是以 “索引值” 的形式存储数据的。

在实际开发处理数据时,我们经常需要将对象的键、值或键值对整体提取成一个数组,以便于进行遍历、排序或其他数组操作。

如果想要将一个对象转换为数组,常用的有以下 3 种方法。

  • Object.keys():将对象的所有 “键(key)” 提取成一个数组。
  • Object.values():将对象的所有 “值(value)” 提取成一个数组。
  • Object.entries():将对象的所有 “键值对” 提取成一个数组。

使用 Object.keys() 提取 “键”

在 JavaScript 中,我们可以使用 Object.keys() 方法来以 “数组的形式” 返回指定对象自身的可枚举属性(键)。

示例 1:

const user = {
    id: 1001,
    name: "Jack",
    isAdmin: false
};
const result = Object.keys(user);

console.log(result);
console.log(Array.isArray(result));

运行结果如下。

["id","name","isAdmin"]
true

提示: 关于 Object.keys() 的更详细用法,另请参阅:JavaScript Object.keys() 方法

使用 Object.values() 提取 “值”

在 JavaScript 中,我们可以使用 Object.values() 方法来以 “数组的形式” 返回指定对象自身的可枚举属性对应的值。

示例 2:

const user = {
    id: 1001,
    name: "Jack",
    isAdmin: false
};
const result = Object.values(user);

console.log(result);
console.log(Array.isArray(result));

运行结果如下。

[1001,"Jack",false]
true

提示: 关于 Object.values() 的更详细用法,另请参阅:JavaScript Object.values() 方法

使用 Object.entries() 提取 “键值对”

在 JavaScript 中,我们可以使用 Object.entries() 方法来以 “数组的形式” 返回指定对象所有可枚举的自身属性的 “键值对” 。

示例 3:

const user = {
    id: 1001,
    name: "Jack",
    isAdmin: false
};
const result = Object.entries(user);

console.log(result);
console.log(Array.isArray(result));

运行结果如下。

[["id",1001],["name","Jack"],["isAdmin",false]]
true

提示: 关于 Object.entries() 的更详细用法,另请参阅:JavaScript Object.entries() 方法

给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号