在 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() 方法。
