📅  最后修改于: 2023-12-03 15:24:31.242000             🧑  作者: Mango
在JavaScript中,我们可以使用多种方式将对象转换为数组。在这篇文章中,我们将介绍几种常见的方法。
Object.keys()
方法返回一个给定对象自身所有可枚举属性的字符串数组,其排列顺序与使用自己的for...in循环遍历该对象时返回的顺序一致。
const obj = { a: 1, b: 2, c: 3 };
const arr = Object.keys(obj);
console.log(arr); // ['a', 'b', 'c']
Object.values()
方法返回一个给定对象自己的所有可枚举属性值的数组,值的顺序和使用for...in 循环的顺序相同(区别在于一个枚举属性,直接返回属性名,一个直接返回属性值)。
const obj = { a: 1, b: 2, c: 3 };
const arr = Object.values(obj);
console.log(arr); // [1, 2, 3]
Object.entries()
方法返回一个给定对象自身可枚举属性的键值对数组,其排列顺序与使用for...in循环遍历该对象时返回的顺序一致。每个子数组的第一个元素是属性的名称,第二个元素是属性的值。
const obj = { a: 1, b: 2, c: 3 };
const arr = Object.entries(obj);
console.log(arr); // [['a', 1], ['b', 2], ['c', 3]]
Object.getOwnPropertyNames()
方法返回一个给定对象的所有属性的名称,包括不可枚举属性。但不包括Symbol属性。
const obj = { a: 1, b: 2, c: 3 };
const arr = Object.getOwnPropertyNames(obj);
console.log(arr); // ['a', 'b', 'c']
在JavaScript中,我们可以使用Object.keys()
,Object.entries()
,Object.values()
,Object.getOwnPropertyNames()
等方法将对象转换为数组。选择使用哪种方法取决于您需要转换成什么样的数组。