> 웹 프론트엔드 > JS 튜토리얼 > JavaScript 배열에서 중복 값을 제거하려면 어떻게 해야 합니까?

JavaScript 배열에서 중복 값을 제거하려면 어떻게 해야 합니까?

Linda Hamilton
풀어 주다: 2024-12-22 12:22:11
원래의
973명이 탐색했습니다.

How Can I Remove Duplicate Values from a JavaScript Array?

JS 배열에서 중복 값 제거

JavaScript 배열의 요소 중복은 일반적인 문제입니다. 이 문제를 해결하기 위해 다양한 방법을 사용할 수 있습니다.

Set 및 Spread 구문:

가장 간결한 솔루션은 Set 생성자와 Spread 구문을 활용합니다.

uniq = [...new Set(array)];
로그인 후 복사

순진한 접근 방식:

간단하고 간단한 접근 방식에는 인덱스를 기준으로 요소를 필터링하는 작업이 포함됩니다.

uniqueArray = a.filter(function(item, pos) {
    return a.indexOf(item) == pos;
});
로그인 후 복사

해시테이블 사용:

객체 속성을 키로 사용하여 해시테이블을 활용하는 보다 효율적인 방법은 다음과 같습니다.

function uniq(a) {
    var seen = {};
    return a.filter(function(item) {
        return seen.hasOwnProperty(item) ? false : (seen[item] = true);
    });
}
로그인 후 복사

결합 접근 방식:

다양한 배열을 처리하기 위해 하이브리드 솔루션은 기본 요소에 대한 해시 테이블과 객체에 대한 선형 검색을 결합합니다.

function uniq(a) {
    var prims = {"boolean":{}, "number":{}, "string":{}}, objs = [];

    return a.filter(function(item) {
        var type = typeof item;
        if(type in prims)
            return prims[type].hasOwnProperty(item) ? false : (prims[type][item] = true);
        else
            return objs.indexOf(item) >= 0 ? false : objs.push(item);
    });
}
로그인 후 복사

정렬 및 필터링:

필터링 전 정렬은 인접한 항목을 기준으로 중복 항목을 제거하는 또 다른 옵션을 제공합니다. 요소:

function uniq(a) {
    return a.sort().filter(function(item, pos, ary) {
        return !pos || item != ary[pos - 1];
    });
}
로그인 후 복사

사용자 정의 비교:

고유한 비교의 경우 동일한 "키"를 필터링하여 콜백을 전달할 수 있습니다.

function uniqBy(a, key) {
    var seen = {};
    return a.filter(function(item) {
        var k = key(item);
        return seen.hasOwnProperty(k) ? false : (seen[k] = true);
    })
}
로그인 후 복사

위 내용은 JavaScript 배열에서 중복 값을 제거하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿