对象数组中判断是否重复值

Posted doufh610

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对象数组中判断是否重复值相关的知识,希望对你有一定的参考价值。

项目上遇到这样的一个场景:ztree树形菜单的节点选中一个即作为一个单位并且要保证值的唯一,还可以删除某个值之后提交后台。
解决思路:1.设置一个空数组 2.声明一个flag(布尔值),确保唯一后以设置为true。在这个确保值为唯一性需要比对id。 3删除数组的任意一个值,用splice();
demo展示: var adminDept =[];
function onClick(event,treeId,treeNode){
  var hasDept = false;
  if (arr.length > 0) {
    for (var i = 0;i < arr.length;i++){
      var adminDept = arr[i];
      if (adminDept.id == treeNode.id) {
        hasDept = true;
        break;
      }
    }
  }
  if (hasDept) {
    return;
  }
  arr.push({
    id: treeNode.id,
    name: treeNode.name
  });
  //后面你需要做的业务实现操作

  。。。。。
}

删除操作: function deleteCurrent(id){
        if (arr.length > 0) {
          for (var i = 0;i < adminDepts.length;i++) {
            var adminDept = arr[i];
            if (adminDept.id == id) {
              arr.splice(i,1);
              break;
            }
          }
        }
      // 后面想做什么的业务

      。。。。。
    }

以上只是为了方便自己学习

以上是关于对象数组中判断是否重复值的主要内容,如果未能解决你的问题,请参考以下文章

js判断一个值是不是存在于一个js数组中

js处理一个数组中包含多个对象,根据对象的一个属性查找到这个对象

js判断一个值是不是存在于一个js数组中

js中判断对象是不是为数组的几种方式

js 数组的indexOf可以判断对象数组中的对象有没有在数组中吗

js 数组的indexOf可以判断对象数组中的对象有没有在数组中吗