對象數組中判斷是否重復值


項目上遇到這樣的一個場景: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 < arr.length;i++) {
            var adminDept = arr[i];
            if (adminDept.id == id) {
              arr.splice(i,1);
              break;
            }
          }
        }
      // 后面想做什么的業務

      。。。。。
    }

以上只是為了方便自己學習


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM