js 判断数组元素是否有id相同的(马井堂)

时间:2025-05-16 07:57:09

在实际开发中经常会遇到判断数组中是否有id重复的元素,下面提供方法,供参考:

function checkRepeat(arr) {
    var array = [];
    arr.forEach((item) => {
      if (item) {
       array.push(item.id);
      }
    });
    if((new Set(array)).size != arr.length){
        console.log("数组有重复值");
        return true;
    }
  return false;
}

调用一下

var arr = [{id:1,v:1},{id:1,v:2},{id:2,v:3}];
checkRepeat(arr);

结果:

数组有重复值 true;

1. 数组去重

function unique (arr) {
  return Array.from(new Set(arr))
}

调用下

var arr = [1,1,2];
unique (arr)

结果:

[1,2]

2. 判断一个元素在数组中出现的次数

function arrCheck(arr){
	var newArr = [];
	for(var i=0;i<arr.length;i++){
		var temp=arr[i];
		var count=0;
		for(var j=0;j<arr.length;j++){
			if(arr[j]==temp){
				count++;
				arr[j]=-1;
			}
		}
		if(temp != -1){
			newArr.push(count)
		}
	}
	return newArr;
}

调用

var arr = [1,1,1,2,2];
arrCheck (arr)

结果:

[3,2]