收藏
回答

微信小程序,删除两个数组中id相同的数据,这样写错在哪里了?

            var goodlist = wx.getStorageSync('goodlist');

            var orderlist = wx.getStorageSync('orderlist');

            for (let i = 0; i < goodlist.length; i++) {

              for (let ii = 0; ii < orderlist.length; ii++) {

                if (goodlist[i].goodsId = orderlist[ii]._id) {

                  goodlist.splice(i, 1);

                  wx.setStorageSync('goodlist', goodlist);

                }

              }

            };

            wx.removeStorageSync('orderlist');

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

4 个回答

  • optimistic
    optimistic
    2023-10-25

    判断相等是双等号或者三等

    2023-10-25
    有用
    回复 1
    • 网络社恐
      网络社恐
      发表于移动端
      2023-10-25
      谢谢
      2023-10-25
      回复
  • 跨商通
    跨商通
    2023-10-25
    goodlist.filter(v=>!orderlist.find(u=>u._id==v.goodsId))
    
    2023-10-25
    有用
    回复 1
    • 网络社恐
      网络社恐
      发表于移动端
      2023-10-25
      谢谢
      2023-10-25
      回复
  • 一笑皆春
    一笑皆春
    2023-10-25

    这地方错了,===

    2023-10-25
    有用
    回复 1
    • 网络社恐
      网络社恐
      2023-10-25
      谢谢!!!
      2023-10-25
      1
      回复
  • 焦糖橙子
    焦糖橙子
    2023-10-25

    在for循环内删除,你的数组长度就变了,也会影响当前索引的指向。

    2023-10-25
    有用
    回复 3
    • 网络社恐
      网络社恐
      2023-10-25
      谢谢,那应该怎么办呢
      2023-10-25
      回复
    • 焦糖橙子
      焦糖橙子
      2023-10-25
      2023-10-25
      回复
    • 网络社恐
      网络社恐
      发表于移动端
      2023-10-25回复焦糖橙子
      谢谢
      2023-10-25
      回复
登录 后发表内容