如何给一个不定的对象数组 添加唯一标识

有一个不定数组

arr = [{a:'',b:'',c:''}] a、b、c 为默认属性

点击 添加按钮 往arr里面push一个对象

arr = [{a:'',b:'',c:''},{a:'',b:'',c:''},{a:'',b:'',c:''}]

点击 删除按钮 删除对应的一条对象

arr = [{a:'',b:'',c:''},{a:'',b:'',c:''}]

图片描述
我想在 点击添加时候 每一个对象中添加一个id 这个id是唯一的标识 删减时候已添加的id 不会变化 此时也是唯一的
arr = [{a:'',b:'',c:'',id:'1'},{a:'',b:'',c:'',id:'2'}]

阅读 7.1k
5 个回答

用一个计数变量

var i = 0
arr = []
arr.push({id:i++})
arr.push({id:i++})
arr.push({id:i++})

使用js给数组每一个元素设置一个guid

function guid() {
  function s4() {
    return Math.floor((1 + Math.random()) * 0x10000)
      .toString(16)
      .substring(1);
  }
  return s4() + s4() + '-' + s4() + '-' + s4() + '-' + s4() + '-' + s4() + s4() + s4();
}

我理解了下楼主的意思,是不是希望每次添加的时候给一个唯一的id,避免删除的时候无法区分。要是想id是唯一的话,就是时间戳喽,时间戳就不会重复啦

图片描述

我的想法是确定一个固定的id 来区分是哪一个

this.$refs['check_cn'+item.id].resetFields();

貌似还是不行

这个需要你在开始做的时候设计通过id来进行绑定校验规则,然后你删除一条表单的时候,就不会出现校验混乱的情况

推荐问题