收藏
回答

如何给指定二维数组的二级数组删除和追加元素?

由于列表渲染需要给指定二维数组的二级数组删除和追加元素,JS代码如下,提示错误,麻烦各位老师给指正,谢谢!

arr={name['simon','dd',...],date['1998','2005',...]}

//删除最后一个选项

  btn_xx_del(e) {  

   del_id = e.currentTarget.id   //获取被点击组件id   

   arr[del_id].name.pop()

    this.setData({

      arr: arr

    })

  },

错误提示:Cannot read property 'name' of undefined; [Component] Event Handler Error @ pages/xmfq1/xmfq#bound btn_xx_del

TypeError: Cannot read property 'name' of undefined

 //增加一个选项

  btn_xx_add(e) {

    var aa = { name: [''] }

del_id = e.currentTarget.id //获取被点击组件id    

    arr[del_id].push(aa)

    this.setData({

      arr: arr

    })

  },

错误提示:Cannot read property 'push' of undefined


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

1 个回答

  • Admin ²º²³
    Admin ²º²³
    2020-03-11

    首先你这arr不是个数组array。而是个对象object

    object是不能pop()和push的

    2020-03-11
    有用
    回复 6
    • 2020-03-11
      谢谢,push()错误又在哪里?如何才能实现我的思路?
      2020-03-11
      回复
    • Admin ²º²³
      Admin ²º²³
      2020-03-11回复
      push和pop一样是数组才有的方法,你这是object。百度下object跟array的区别
      2020-03-11
      回复
    • Admin ²º²³
      Admin ²º²³
      2020-03-11
      买本javascript入门到跑路教程没事啃一个礼拜
      2020-03-11
      回复
    • 2020-03-11回复Admin ²º²³
      但是,如果不指定下标,我用push和splice都成功的。如:var aa = { wtlx: 3, bt: ‘ok’, btx: true, xxnr: [‘ ’, ‘ ’] } 
                arr.push(aa)
      2020-03-11
      回复
    • roar.
      roar.
      2020-03-11
      obj.push no
      arr.push yes
      2020-03-11
      回复
    查看更多(1)
登录 后发表内容
问题标签