[英]Why when apply Map.prototype.forEach will return undefined?
[英]Why is my foreach and map return undefined
我有一個數據包系統,您可以在其中將產品放在一個數據包中。
所以如果有人買了一個包,我把這個添加到購物車中,如果他再次購買,我會檢查包 id 是否相同,如果包中的產品具有相同的尺寸和顏色,如果是,則我添加金額 + 1。
問題是,我沒有定義。
我控制台記錄所有語句及其日志記錄,我在控制台日志和語句中獲取值,但他返回未定義我不知道為什么......
action.payload.packet?.products.forEach((product => {
return state.cart.map((el => {
if(el.packet?.id === action.payload.packet?.id) {
return {
...el,
product: el.packet?.products.map((state_p => {
if(product.id === state_p.id) {
return {
...state_p,
selectedOption: state_p.selectedOption.map((so => {
if(so.color === product.selectedOption[0].color && so.size === product.selectedOption[0].size) {
console.log('HII333')
return {
...so,
amount: so.amount + 1
}
} else {
return {
...so
}
}
}))
}
} else {
return {
...state_p
}
}
}))
}
} else {
return {
...el
}
}
}));
}));
我錯過了退貨聲明嗎?
ForEach 方法的工作方式是在工作時不返回任何內容。 因此,即使您在 forEach 中添加 return 語句,它也不會返回任何內容。 在您的情況下,您可以將 forEach 更改為返回新數組的 map 方法
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.