Vue 数组中出现[__ob__: Observer]无法取值遍历
时间: 2023-11-12 12:51:59 浏览: 104
vue遍历对象中的数组取值示例
在Vue中,当我们使用Object.defineProperty()或Proxy来监视对象属性的变化时,Vue会为这个对象添加一个名为“__ob__”的属性,其值为一个Observer对象,用于监听对象属性的变化。但是,这个属性并不是我们自己定义的,所以在遍历数组时会出现这个属性,导致无法取值遍历。
解决方法:
1. 使用Vue提供的数组方法进行遍历,如forEach、map、filter等。
2. 使用ES6的展开运算符(...)将数组转换为普通数组,再进行遍历。
例如:
```javascript
const arr = [1, 2, 3, {a: 1, b: 2, __ob__: Observer}];
const newArr = [...arr];
newArr.forEach(item => {
console.log(item);
});
```
输出结果为:
```
1
2
3
{a: 1, b: 2, __ob__: Observer}
```
阅读全文