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 중국어 웹사이트의 기타 관련 기사를 참조하세요!