>웹 프론트엔드 >JS 튜토리얼 >JavaScript에서 배열 중복을 제거하는 5가지 방법은 무엇입니까?

JavaScript에서 배열 중복을 제거하는 5가지 방법은 무엇입니까?

青灯夜游
青灯夜游원래의
2021-06-29 15:05:2811791검색

5가지 배열 중복 제거 방법: 1. "[...new Set(arr)]" 문을 사용하여 중복 제거합니다. 2. "Array.from(new Set(arr))" 문을 사용하여 중복 제거합니다. 중복을 제거하려면 indexOf()를 사용하십시오. 4. 중복을 제거하려면 include()를 사용하십시오. 5. 중복을 제거하려면 filter()를 사용하십시오.

JavaScript에서 배열 중복을 제거하는 5가지 방법은 무엇입니까?

이 튜토리얼의 운영 환경: Windows 7 시스템, JavaScript 버전 1.8.5, Dell G3 컴퓨터.

배열 중복 제거 방법

1. [...new Set(arr)]

const arr = [1, 2, 3, 2, 3];
[...new Set(arr)]; // [1, 2, 3]

다음은 Set 객체를 배열로 변환하는 ES6의 확장 구문입니다. Array .from(new Set(arr))

const arr = [1, 2, 3, 2, 3];
Array.from(new Set(arr)); // [1, 2, 3]
Set의 요소는 원래 값이든 객체 참조이든 고유하므로 배열을 Set 객체로 변환하여 중복 제거를 달성할 수 있습니다

Array.from 메서드 Set 개체를 배열로 변환할 수 있습니다

3. indexOf를 사용하여 중복 항목을 제거합니다.

function unique(arr) {
    if (!Array.isArray(arr)) {
        console.log('type error!')
        return
    }
    var array = [];
    for (var i = 0; i < arr.length; i++) {
        if (array .indexOf(arr[i]) === -1) {
            array .push(arr[i])
        }
    }
    return array;
}
var arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,'NaN', 0, 0, 'a', 'a',{},{}];
console.log(unique(arr))
   // [1, "true", true, 15, false, undefined, null, NaN, NaN, "NaN", 0, "a", {…}, {…}]  //NaN、{}没有去重
새 빈 결과 배열을 만듭니다. For 루프를 사용하여 현재 요소가 결과 배열에 있는지 확인합니다. 값이 같으면 건너뛰고, 같으면 배열에 넣습니다.

4. include

function unique(arr) {
    if (!Array.isArray(arr)) {
        console.log('type error!')
        return
    }
    var array =[];
    for(var i = 0; i < arr.length; i++) {
            if( !array.includes( arr[i]) ) {//includes 检测数组是否有某个值
                    array.push(arr[i]);
              }
    }
    return array
}
var arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,'NaN', 0, 0, 'a', 'a',{},{}];
    console.log(unique(arr))
    //[1, "true", true, 15, false, undefined, null, NaN, "NaN", 0, "a", {…}, {…}]     //{}没有去重
5. 필터 사용

function unique(arr) {
  return arr.filter(function(item, index, arr) {
    //当前元素,在原始数组中的第一个索引==当前索引值,否则返回当前元素
    return arr.indexOf(item, 0) === index;
  });
}
    var arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,'NaN', 0, 0, 'a', 'a',{},{}];
        console.log(unique(arr))
//[1, "true", true, 15, false, undefined, null, "NaN", 0, "a", {…}, {…}]
[관련 권장사항: javascript 학습 튜토리얼

]

위 내용은 JavaScript에서 배열 중복을 제거하는 5가지 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.