map属性不仅仅是字符串

时间:2018-01-13 08:34:58

标签: javascript node.js express

我有这个对象

enter image description here

我想做这样的事情:

  Object.keys(changes).map(i => {
    activity.change = i
    this.addINDB(activity)
  })

但是这张地图作为字符串迭代descriptionname。不是我想要分配给activity.change

的这些对象

我该怎么办?

1 个答案:

答案 0 :(得分:2)

您可以使用Object.values代替Object.keys。您甚至需要在稍微过时的浏览器上对其进行填充,但它是可填充的。

另请注意,如果您没有使用返回值,map不是循环数组的正确工具。您需要forEach(或for-of循环,因为您正在使用ES2015 +)。

Object.values的示例:

Object.values(changes).forEach(value => {
    this.addINDB(value);
});

for (const value of Object.values(changes)) {
    this.addINDB(value);
}

或者只是获取Object.keys回调中的密钥值:

Object.keys(changes).forEach(key => {
    this.addINDB(changes[key]);
});

for (const key of Object.keys(changes)) {
    this.addINDB(changes[key]);
}