vue foreach遍历数组并push
时间: 2023-04-28 16:04:33 浏览: 116
可以使用Vue的forEach方法来遍历数组,并使用push方法将遍历到的元素添加到另一个数组中。具体代码如下:
```
var arr1 = [1, 2, 3, 4, 5];
var arr2 = [];
arr1.forEach(function(item) {
arr2.push(item);
});
console.log(arr2); // [1, 2, 3, 4, 5]
```
其中,arr1是要遍历的数组,arr2是要将遍历到的元素添加到的数组。使用forEach方法遍历arr1,对于每个元素,使用push方法将其添加到arr2中。最终,arr2中就包含了arr1中的所有元素。
相关问题
vue用foreach遍历数组push到新数组中时每次push的数组都自动排在新数组末尾
在使用`forEach`方法遍历数组时,每次循环都会将指定元素push到新数组的末尾。如果你想要将指定元素插入到新数组的指定位置,可以使用`splice`方法。
下面是一个示例代码:
```javascript
let arr = [1, 2, 3, 4, 5]
let newArr = []
arr.forEach((item) => {
if (item % 2 === 0) {
newArr.splice(1, 0, item) // 在第二个位置插入元素
} else {
newArr.push(item)
}
})
console.log(newArr) // [1, 4, 2, 3, 5]
```
在这个例子中,我们使用`forEach`方法遍历原数组,将偶数插入到新数组的第二个位置,将奇数push到新数组的末尾。使用`splice`方法,在第二个位置插入元素,然后后面的元素依次后移。最终输出结果为[1, 4, 2, 3, 5]。
vue遍历数组执行异步请求
在Vue中遍历数组并执行异步请求的方法有多种。根据提供的引用,有三种方法可以实现这个目标。
第一种方法是给forEach函数添加async关键字,并在forEach函数内部使用await关键字。但是这种方法会导致forEach外部无法获取到返回的值,因为forEach本身不支持async和await。
第二种方法是使用map函数,将每次异步请求包装成一个Promise,并将这些Promise保存在一个数组中。然后使用for...of循环等待每个Promise执行完毕,最后可以在循环之外获取到返回的值。
第三种方法是使用async/await结合for...of循环。在for...of循环中使用await等待每次异步请求执行完毕,并将结果存入数组中。最后可以在循环之外获取到返回的值。
以下是三种方法的具体实现示例:
方法一:
async fetchDescription(data) {
var arr = [];
var prop = null;
data.forEach(async (item) => {
prop = await Description.fetch(item);
arr.push(prop.data);
});
console.log(arr); // => []
}
方法二:
async fetchDescription(data) {
var arr = [];
var prop = null;
let promises = data.map(async (item) => {
prop = await Description.fetch(item);
arr.push(prop.data);
});
for (const promise of promises) {
await promise;
}
console.log(arr); // => [e, e]
}
方法三:
async fetchDescription(data) {
var arr = [];
var prop = null;
for (const item of data) {
prop = await Description.fetch(item);
arr.push(prop.data);
}
console.log(arr); // => [e, e]
}
根据具体情况选择适合的方法来遍历数组并执行异步请求。