ES6 Object.forOwn循环对象键功能

时间:2016-11-15 15:35:48

标签: javascript ecmascript-6

免责声明:我知道有similar questions,但没有人确信这是最终解决方案。

我很惊讶地发现,似乎不是功能性循环对象的标准方法。

Lodash有_.forOwn()

ES6方式似乎是:

Object.keys(object).forEach(key => { console.log(key, object[key]); });

但这不起作用,因为object是迭代器函数的外部。

我甚至找不到任何填充物。

for ... in对我来说似乎不是一个解决方案。

你们是怎么写这个的?

1 个答案:

答案 0 :(得分:0)

ES2017引入了Object.entries()方法,这似乎是您正在寻找的方法:

const obj = { a: 1, b: 2 };
Object.entries(obj).forEach(([key, value]) => console.log(`key: ${key}, value: ${value}`));

this answer已经提到过。

请注意,您也可以使用Map代替普通对象 - 它具有forEach()方法。