对象数组中判断是否重复值
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处理一个数组中包含多个对象,根据对象的一个属性查找到这个对象