JavaScript에서 배열 중복 제거를 구현하는 방법은 무엇입니까? 이 기사에서는 js에서 배열 중복을 제거하는 세 가지 일반적인 방법을 소개합니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.
아래에서는 간단한 코드 예제를 통해 js의 세 가지 일반적인 배열 중복 제거 방법을 소개합니다.
첫 번째 방법: for 루프(2회) + 새 배열
아이디어:
1. 결과를 저장할 새 배열을 구성합니다
2. for 루프에서 매번 원래 배열을 꺼냅니다. 요소, 이 요소를 사용하여 결과 배열과 반복하고 비교하세요
3. 결과 배열에 해당 요소가 없으면 결과 배열에 저장하세요
//方法一 var arr = [1,23,1,1,1,3,23,5,6,7,9,9,8,5]; function removeDuplicatedItem(arr) { for(var i = 0; i < arr.length-1; i++){ for(var j = i+1; j < arr.length; j++){ if(arr[i]==arr[j]){ arr.splice(j,1);//console.log(arr[j]); j--; } } } return arr; } arr2 = removeDuplicatedItem(arr); console.log(arr); console.log(arr2);
첫 번째 방법은 기본적으로 arr =에 대해 우리의 요구를 충족할 수 있습니다. [1 ,23,1,1,1,3,23,5,6,7,9,9,8,5] 이렇게 간단한 배열은 유형 비교만 사용하면 되지만 배열이 너무 길면 어떻게 될까요? 이러한 방식으로 배열을 순회하면 배열의 길이는 n이 되고 시간 복잡도는 n*n이 됩니다. 분명히 첫 번째 방법의 성능이 향상되어야 합니다. 다음은 두 번째 방법으로, 배열 정렬을 사용하여 정렬 과정에서 중복된 값을 제거하는 방법입니다.
두 번째 방법: for 루프(한 번) + sort() 정렬 + 새 배열
원래 배열 길이는 그대로 유지되지만 새 배열의 도움으로 새 배열인지 확인합니다. 배열이 존재합니다 요소가 존재하지 않으면 새 배열에 요소를 추가하세요
//方法二 var arr = [1,23,1,1,1,3,23,5,6,7,9,9,8,5]; function removeRepEle(ar) { var ret = [], end;//临时变量用于对比重复元素 ar.sort();//将数重新组排序 end = ar[0]; ret.push(ar[0]); for (var i = 1; i < ar.length; i++) { if (ar[i] != end) {//当前元素如果和临时元素不等则将此元素添加到新数组中 ret.push(ar[i]); end = ar[i]; } } return ret; } arr2 = removeRepEle(arr); console.log(arr);//[ 1, 1, 1, 1, 23, 23, 3, 5, 5, 6, 7, 8, 9, 9 ] console.log(arr2);//[ 1, 23, 3, 5, 6, 7, 8, 9 ]
두 번째 방법에는 특정 제한이 있습니다. 배열이 먼저 정렬된 다음 중복 제거되므로 반환되는 최종 결과는 js 배열 중복 제거 및 병합 정렬된 결과입니다. . 배열 순서를 변경하지 않고 중복 항목을 제거해야 하는 경우 이 방법은 권장되지 않습니다.
세 번째 방법(권장): for 루프(1회) + 새 배열 + 새 개체
빈 개체를 사용하여 새 배열에 저장된 요소를 기록합니다.
//方法三 var arr = [1,23,1,1,1,3,23,5,6,7,9,9,8,5]; var o={}; var new_arr=[]; for(var i=0;i<arr.length;i++){ var k=arr[i]; if(!o[k]){ o[k]=true; new_arr.push(k); } } console.log(new_arr);
요약: 여기까지입니다. 기사 전체 내용이 모든 분들의 공부에 도움이 되었으면 좋겠습니다. 더 많은 관련 튜토리얼을 보려면 JavaScript 비디오 튜토리얼, jQuery 비디오 튜토리얼, bootstrap 튜토리얼을 방문하세요!
위 내용은 JavaScript에서 배열 중복 제거를 구현하는 방법은 무엇입니까? js의 배열에서 중복을 제거하는 세 가지 방법(코드 예제)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!