(또한 어레이 내의 객체 / 배열 요소들에 대한 또 다른 접근법 1 )이 될 수있는 2 :
function chkDuplicates(arr,justCheck){
var len = arr.length, tmp = {}, arrtmp = arr.slice(), dupes = [];
arrtmp.sort();
while(len--){
var val = arrtmp[len];
if (/nul|nan|infini/i.test(String(val))){
val = String(val);
}
if (tmp[JSON.stringify(val)]){
if (justCheck) {return true;}
dupes.push(val);
}
tmp[JSON.stringify(val)] = true;
}
return justCheck ? false : dupes.length ? dupes : null;
}
chkDuplicates([1,2,3,4,5],true);
chkDuplicates([1,2,3,4,5,9,10,5,1,2],true);
chkDuplicates([{a:1,b:2},1,2,3,4,{a:1,b:2},[1,2,3]],true);
chkDuplicates([null,1,2,3,4,{a:1,b:2},NaN],true);
chkDuplicates([1,2,3,4,5,1,2]);
chkDuplicates([1,2,3,4,5]);
또한보십시오...
1 에는 JSON을 지원하는 브라우저가 필요하거나그렇지 않은 경우 JSON 라이브러리 가 필요합니다.
2 편집 : 이제 함수를 사용하여 간단한 검사를하거나 중복 값의 배열을 반환 할 수 있습니다.