簡體   English   中英

為什么我的 foreach 和 map 返回未定義

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM