首页 > 解决方案 > 使用 forEach 进行求和时,totalUnits 不是可迭代错误

问题描述

我正在遍历 skidList 数组,并使用totalUnits.
但是我收到totalUnits not iterable错误。
我尝试使用 let 而不是 var 但它给出了相同的错误。

    const createPurchaseOrder = skidList => {
        const [expectedItems, setexpectedItems] = useState([]);
        const [actualItems, setactualItems] = useState([]);  
        skidList.forEach(skid => {
            var totalUnits = 0;
            Object.keys(skid).forEach(key => {
                totalUnits += parseInt(skid[key], 10);
            })
            setexpectedItems(expectedItems.concat([ ...totalUnits ]));
            setactualItems(actualItems.concat([0]));
        })

        newPurchaseOrder.expectedItems = expectedItems;
        newPurchaseOrder.acturalItems = actualItems;

        console.log(newPurchaseOrder);
            
    }

标签: javascriptreactjsecmascript-6

解决方案


totalUnits是类型Number。您期望它如何通过使用[ ...totalUnits ]. ...必须适用于可迭代的东西,array而不是像这样的原始类型number


推荐阅读