>웹 프론트엔드 >JS 튜토리얼 >JavaScript 배열에서 0을 포함하여 고유한 값을 효율적으로 검색하는 방법은 무엇입니까?

JavaScript 배열에서 0을 포함하여 고유한 값을 효율적으로 검색하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-22 02:54:14920검색

How to Efficiently Retrieve Unique Values from a JavaScript Array, Including Zeroes?

JavaScript 배열에서 고유 값 검색

이 질문에서 우리는 JavaScript 배열에서 중복 값을 제거하는 동시에 JavaScript 배열의 무결성을 보장하는 것을 목표로 합니다. 요소가 없습니다. 0을 처리할 때 문제가 발생하는 스니펫을 살펴보겠습니다.

Array.prototype.getUnique = function() {
  var o = {}, a = [], i, e;
  for (i = 0; e = this[i]; i++) { o[e] = 1 };
  for (e in o) { a.push(e); };
  return a;
};

이 스니펫은 값이 암시적으로 참 또는 거짓 값으로 변환되는 JavaScript 고유의 강제 변환을 활용합니다. 0은 JavaScript에서 잘못된 값이며 JavaScript의 개체는 기본적으로 참이므로 초기 루프 중에 개체에 추가됩니다. 결과적으로, 후속 루프 중에 결과 배열로 푸시됩니다.

그러나 최신 JavaScript(ES5 이상)에서는 배열의 고유성을 달성하기 위한 보다 효율적이고 안정적인 방법에 액세스할 수 있습니다.

기본 필터 방법:

필터 방법을 사용하면 배열 요소를 반복하고 새 배열을 반환할 수 있습니다. 지정된 테스트 함수를 통과하는 요소만 포함합니다. 인덱스를 동일한 요소의 첫 번째 발생과 비교하여 배열 내에서 요소가 고유한지 확인하는 함수를 정의할 수 있습니다.

function onlyUnique(value, index, array) {
  return array.indexOf(value) === index;
}

// Example usage:
const a = ['a', 1, 'a', 2, '1'];
const unique = a.filter(onlyUnique);

console.log(unique); // Logs: ['a', 1, 2, '1']

위 내용은 JavaScript 배열에서 0을 포함하여 고유한 값을 효율적으로 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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