给定一个 javascript 对象,如何将其转换为 ECMAScript-6 中的数组?
例如,给定:
var inputObj = {a:'foo', b:[1,2,3], c:null, z:55};
预期的输出是:
['foo', [1,2,3], null, 55]
结果中元素的顺序对我来说并不重要。
最佳答案
使用 (ES5) Array::map
在keys
用 arrow function (仅针对简短语法,而非功能):
let arr = Object.keys(obj).map((k) => obj[k])
真正的 ES6 风格应该是写一个生成器,然后把它转换成一个数组:
function* values(obj) {
for (let prop of Object.keys(obj)) // own properties, you might use
// for (let prop in obj)
yield obj[prop];
}
let arr = Array.from(values(obj));
很遗憾,没有object iterator已经成为 ES6 本地人。
关于javascript - 使用 ES6 特性将对象转换为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25217706/