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