求助关于AsyncStorage.multiGet得到的值



  • var sum=0;
    var value=await AsyncStorage.multiGet(["result[1]","result[2]","result[3]","result[4]","result[5]","result[6]","result[7]",
        "result[8]","result[9]","result[10]","result[11]",
        "result[12]","result[13]","result[14]"]);
    
           value.forEach(kv=>{
                 let key = kv[0], item = kv[1];
                 var Nitem=parseInt(item);
    sum+=Nitem
    
       alert(sum);
    });
    

    用multiGet从获取前面每一页setItem的键名和键值,写入value里面,然后用forEach提取键值,用sum+把键值相加,最后得到的为什么是14个一个个累加后的数值?我只想要一个总和请问怎么弄?



  • @wowaji 把alert写在forEach整个函数之后……



  • @tdzl2003 谢谢,取值的问题解决了,但是相加的结果却变成了字符串?原来写在里面的时候还是相加值,写出来以后就是一整串数字了



  • @wowaji 你是不是不小心删了parseInt? 代码贴出来看看?



  • @wowaji 说:

    @tdzl2003

    没删,只是把alert移了出去

    var sum=[];
    var value=await AsyncStorage.multiGet(["result[1]","result[2]","result[3]","result[4]","result[5]","result[6]","result[7]",
    "result[8]","result[9]","result[10]","result[11]",
    "result[12]","result[13]","result[14]"]);

       value.forEach(kv=>{
             let key = kv[0], item = kv[1];
    

    var Nitem=parseInt(item);
    sum+=Nitem;
    });

    alert(sum);



  • o,已经解决了,原来是我把sum定义错了。
    谢谢~


登录后回复