첫 번째 유형:
함수 고유(arr) {
var obj = {},newArr = [];
for(var i = 0;i < arr.length;i ){
var value = arr[i];
if (!obj [값]){
obj[값] = 1;
newArr.push(값);
}
}
return newArr;
}
이 방법은 배열의 값을 객체에 저장하므로 배열에 객체 멤버가 포함되어 있으면 작업이 실패합니다(객체의 키인 객체가 문자열로 변환됩니다).
두 번째 방법:
함수 고유( arr ){
for(var i = 0;i < arr.length;i ){
for(var j = i 1;j < arr.length;j ){
if(arr [ i] === arr[j]){
arr.splice(j,1);
j--}
}
}
return arr;
}
이 방법은 수신 배열에 객체가 포함된 경우에도 지원됩니다. '==='에 유의하세요. 그러나 중첩 루프를 사용하면 첫 번째 방법보다 성능이 저하됩니다.