为什么手机拒绝读取Math.max值?

问题描述

长话短说,我一直在为一个客户在Full Stack网站上工作,我已经完成了所有工作,但是我遇到了问题!

由于某些原因,当我使用Math.max(...shipArray)时,它将在PC上正常工作,但是当您尝试在移动设备上查看时。它返回NaN,这也会影响shoppingTotal

无论如何,这是我的代码:

    const shippingCost = () => {
    const basket = JSON.parse(window.localStorage.getItem("productData"));
    const shipArray = [];
    let shippingTotal = 0;
    if(!basket)
    setBasketEmpty(true);

    basket.map((item,key) => {
        shipArray.push(item.product.shipping_cost);
    });

    console.log(shipArray)

    shippingTotal = shippingTotal + Math.max(...shipArray);
    updateShoppingTotal(shippingTotal);
}


    const updateShoppingTotal = (shipping) => {
    var tempCost = 0;
    var finalCost = 0;
    var tempCostArray = [];
    var quantity = window.localStorage.getItem("productData");
    if(!storageData)
    setBasketEmpty(false);

    if(quantity){
        JSON.parse(quantity).map(quan => {
            tempCost = quan.product.product_price * quan.quantity;
            tempCostArray.push(tempCost);
    });

    tempCostArray.forEach(item => {
        if(!isNaN(item)){
            finalCost = finalCost + item + shipping;
        }
    });

    setShipping(shipping);
    window.localStorage.setItem("originalPrice",parseFloat(finalCost).toFixed(2));
    window.localStorage.setItem("basketTotal",parseFloat(finalCost).toFixed(2))
    setShoppingTotal(parseFloat(finalCost).toFixed(2))
}
}

我也在使用ReactJS,而不是React-Native。

谢谢

编辑:为了安全起见,我尝试手动输入一些随机数,这似乎是问题所在的shipArray,所以如果有人知道为什么要添加一个非数字,编号,然后将是有帮助的!

解决方法

可能是传播操作...

如果您正在旧手机上进行测试(尤其是诸如廉价的“刻录机” TracFones之类的东西),那么它们就没有很多现代JS功能(很确定没有扩散,没有箭头功能,甚至可能没有? )。

我曾经为那些以及许多您无法使用的现代JS开发。他们通常运行的是Android 4.4或更早版本。

不错的资源是can I use(指向点差的链接)。您会注意到,Android 4.4不支持

编辑:如果此代码是由Babel编译的,则可能用更老的东西代替了这种东西。

,

如果我有大脑,那将很危险!哈哈

因此,要查看产品,我有2个组件,一个用于大型设备,一个用于移动电话。

对于第一个组件,我将运输成本添加到localStorage中,但是我没有为移动组件做这笔费用,因此当我尝试在移动设备上阅读item.product.shipping_cost时,当然找不到它是说undefined

此血统专线在这里: oldBasket.push({product: {shipping_cost:this.state.productData.shipping_cost,});

该行不在移动组件上!

感谢大家的建议

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...