>웹 프론트엔드 >JS 튜토리얼 >JavaScript 배열에서 중복 제거가 0으로 인해 실패하는 이유는 무엇입니까?

JavaScript 배열에서 중복 제거가 0으로 인해 실패하는 이유는 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-22 13:45:33230검색

Why Does Removing Duplicates from a JavaScript Array Fail with Zero?

JavaScript 배열에서 중복 항목 제거: 신비한 제로 오류

JavaScript에서 배열로 작업할 때 값이 고유한지 확인하는 것이 중요한 경우가 많습니다. 그러나 0 값을 처리할 때 오류가 발생하면 당황스러울 수 있습니다. 문제와 해결 방법을 살펴보겠습니다.

제공된 코드 조각은 Array.prototype.getUnique 함수를 사용하여 중복을 제거합니다.

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;
}

이 함수는 대부분의 경우 완벽하게 작동하지만 문제가 있습니다. 배열에 0이 포함된 경우. 이 문제를 해결하려면 JavaScript 1.6/ECMAScript 5에 도입된 배열의 기본 필터 메서드를 활용할 수 있습니다.

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

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

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

이 솔루션에서 onlyUnique 함수는 각 값이 결과 배열에 한 번만 나타나도록 보장합니다. . 필터 방식과 함께 사용하면 0을 포함한 중복 항목을 효과적으로 제거합니다.

위 내용은 JavaScript 배열에서 중복 제거가 0으로 인해 실패하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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