[英]How can I Improve my logic by using forEach, not for loop in Javascript
请先检查我的代码
我使用了 axios.all (GET 方法)。
.then((res) => {
let everyDataArray = [];
console.log(res); // output = [ {response}, {response} ]
for(let i=0; i < res.length; i++) {
everyDataArray.push(...res[i].response)
}
})
现在,我正在使用 for 循环将所有响应组合到一个数组中。
但是,我想要做的是使用 forEach,而不是 for。
我检查了https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach ,
但仍在研究如何。 谢谢你。
您真正想要的是使用map
( https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map ),因为您想将一个数组转换为另一个数组。
需要明确的是, forEach
适用于您希望将函数应用于每个项目以用于副作用(如打印)而不是收集返回值的情况。
你可以简单地使用地图。
.then((res) => {
console.log(res); // output = [ {response}, {response} ]
let everyDataArray = res.map(item => item.response);
})
您的代码可能如下所示:
.then((res) => {
let everyDataArray = res.reduce((a,c)=>(a.push(...c.response),a),[]);
// ...
console.log(everyDataArray);
})
我使用.reduce()
而不是.map()
因为结果数组与输入数组的长度不同。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.