如何在 vue.js 2 上循环对象观察器?

How can I loop object observer on vue.js 2?

如果我console.log(this.list),结果是这样的:

this.list.forEach(function (user) {
    selected.push(user.id);
});

存在错误:

Uncaught TypeError: this.list.forEach is not a function

如何解决这个错误?

this.list不是数组吗?

如果 this.list 是类数组(该对象上必须有一个 length 属性),您应该可以这样做:

Array.prototype.forEach.call(this.list, user => {
  // ...
})

Array.from(this.list).forEach(user => {
  // ...
})

[...this.list].forEach(user => {
  // ...
})

否则如果this.list只是一个普通对象,你可以这样做:

Object.keys(this.list).forEach(key => {
  const user = this.list[key]
  // ...
})

Object.entries(this.list).forEach(([key, user]) => {
  // ...
})

这是一种在 Vue 中遍历观察者数组的方法:

let keys = Object.keys(myObserverArray);

keys.forEach(key => {
   let item = myObserverArray[key];
   //...work with item
})