收藏
回答

对数组进行赋值存储时第一位为什么会变成empty?

为什么myCollectList为[empty, {…}],求帮忙卡住了

回答关注问题邀请回答
收藏

2 个回答

  • Smile
    Smile
    2019-10-06

    for 循环体的var换成let试试,估计是db是异步操作造成的,你循环完了i的值最后变成1了,所以第一个数据是空的。

    2019-10-06
    有用 1
    回复 1
    • AVICII
      AVICII
      2019-10-06
      真的是这个问题。太感谢了。
      2019-10-06
      回复
  • o0o有脾气的酸奶
    o0o有脾气的酸奶
    2019-10-06

    res被覆盖了吧

    for(var i = 0;i<res.data.length;i++){

        ****

        db.****

            sucess:res2=>{

                ****

                that.setData({

                    [xxxxx]:res2.data[0].xxxx

                    ****

                })

            }

    }

    2019-10-06
    有用
    回复 5
    • AVICII
      AVICII
      2019-10-06
      大哥,试了不是这个原因啊。
      2019-10-06
      回复
    • o0o有脾气的酸奶
      o0o有脾气的酸奶
      2019-10-06回复AVICII
      2019-10-06
      回复
    • AVICII
      AVICII
      2019-10-06回复o0o有脾气的酸奶
      那如果我还要往myCollectList[index]里在放数据怎么办,例如collectList[i].hour collectList[i].day res2.data[0]的数据不完整。
      2019-10-06
      回复
    • o0o有脾气的酸奶
      o0o有脾气的酸奶
      2019-10-06回复AVICII
      那就加就是了 
      res2.data[0].xxx = xxxx
      ....
      不需要某个字段 zzzzz
      delete res2.data[0].zzzzz
      myCollectList.push(res2.data[0])
      2019-10-06
      回复
    • AVICII
      AVICII
      2019-10-06回复o0o有脾气的酸奶
      谢谢咯。你这种办法也行得通。
      2019-10-06
      回复
登录 后发表内容
问题标签