用es6的方法实现对象转换为数组还有其它的方法吗
- 使用Object.keys()和Array.map()方法:
const obj = { a: 1, b: 2, c: 3 };
const arr = Object.keys(obj).map(key => obj[key]);
console.log(arr); // [1, 2, 3]
- 使用Object.values()方法:
const obj = { a: 1, b: 2, c: 3 };
const arr = Object.values(obj);
console.log(arr); // [1, 2, 3]
- 使用Object.entries()方法和Array.map()方法:
const obj = { a: 1, b: 2, c: 3 };
const arr = Object.entries(obj).map(entry => entry[1]);
console.log(arr); // [1, 2, 3]
- 使用for...in循环遍历对象,然后将属性值添加到数组中:
const obj = { a: 1, b: 2, c: 3 };
const arr = [];
for (let key in obj) {
if (obj.hasOwnProperty(key)) {
arr.push(obj[key]);
}
}
console.log(arr); // [1, 2, 3]
还有其它方法,比如使用Object.getOwnPropertyNames()方法和Array.map()方法,但是和使用Object.keys()方法的效果是一样的。
原文地址: https://www.cveoy.top/t/topic/bn47 著作权归作者所有。请勿转载和采集!