对象转换成数组的几种方式

ES7 有一个提案,引入了跟Object.keys配套的Object.values和Object.entries。

let {keys, values, entries} = Object;  

let obj = { a: 1, b: 2, c: 3 };

 for (let key of keys(obj)) {  

    console.log(key); // 'a', 'b', 'c'  

}  

for (let value of values(obj)) {  

   console.log(value); // 1, 2, 3  

}  

for (let [key, value] of entries(obj)) {  

  console.log([key, value]); // ['a', 1], ['b', 2], ['c', 3]  

}  

如:

var obj = { foo: "bar", baz: 42 };  

Object.values(obj)    // ["bar", 42]  

按顺序输出

var obj = { 100: 'a', 2: 'b', 7: 'c' };  

Object.values(obj)  

// ["b", "c", "a"]  

 

Object.entries方法返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历( enumerable )属性的键值对数组

var obj = { foo: 'bar', baz: 42 };  

Object.entries(obj)  

// [ ["foo", "bar"], ["baz", 42] ]  

原文地址:https://www.cnblogs.com/hui123-/p/7703780.html