[英]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.