以一次实际开发中的实例,将几种对象转数组的方法都试了一遍:
// 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()メソッド
用于数组的浅拷贝。就是将一个类数组对象或者可遍历对象转换成一个真正的数组。
所满足的数组限制是:
- オブジェクトにはlength属性が必要であり、返される配列の長さは長さの長さに依存します
- .key値は数値でなければならない
ため、ここでの出力は空の配列です。
2.Object.values(object)(ES8):キー値を返すイテレータ
tips:与第一种不同的是不需要length属性,返回一个对象所有可枚举属性值
3.Object.keys(object):キー名を返すイテレータ
tips:返回一个对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用 for…in 循环遍历该对象时返回的顺序一致
4.Object.entries(object)(ES8):キーと値のペアを返すイテレーター
tips:返回一个给定对象自身可枚举属性的键值对数组