以一次实际开发中的实例,将几种对象转数组的方法都试了一遍:
// const errorList = Object.keys(error)
// console.log('error', error)
// console.log('Array.from', Array.from(error))
// console.log('keys',Object.keys(error))
// console.log('values',Object.values(error))
// console.log('entries',Object.entries(error))
这是原对象类型结构:
1.Array.from() 方法
用于数组的浅拷贝。就是将一个类数组对象或者可遍历对象转换成一个真正的数组。
所满足的数组限制是:
- object中必须有length属性,返回的数组长度取决于length长度
- .key 值必须是数值
所以这里输出的是空数组
2 .Object.values(object)(ES8):返回键值的遍历器
tips:与第一种不同的是不需要length属性,返回一个对象所有可枚举属性值
3.Object.keys(object):返回键名的遍历器
tips:返回一个对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用 for…in 循环遍历该对象时返回的顺序一致
4.Object.entries(object)(ES8):返回键值对的遍历器
tips:返回一个给定对象自身可枚举属性的键值对数组