>일반적인 문제 >js 배열에서 중복을 제거하는 방법

js 배열에서 중복을 제거하는 방법

百草
百草원래의
2023-07-05 11:32:401764검색

js 배열 중복을 제거하는 방법: 1. ES6에서 제공하는 "새로운 Set()" 방법 2. "filter()" 방법 3. "indexOf()" 방법과 함께 for 루프를 사용합니다. 배열의 각 요소는 다른 요소와 차례로 비교되고 중복된 요소는 삭제됩니다. 5. 새로운 빈 배열을 만들고 "indexOf()" 메서드를 사용하여 배열에 있는 현재 요소의 인덱스를 결정합니다. 루프의 첨자와 동일하게 배열의 새 항목에 추가합니다. 6. Double for 루프 7. "includes()" 메서드.

js 배열에서 중복을 제거하는 방법

이 튜토리얼의 운영 체제: windows10 시스템, JavaScript ECMAScript 2023 버전, DELL G3 컴퓨터.

1. ES6에서 제공하는 새로운 Set() 구조를 사용하세요. 간단하고 사용하기 쉽습니다.

새 배열에 직접 넣고 es6

 var arr = [1,9,8,8,7,2,5,3,3,3,2,3,1,4,5,444,55,22];
 
  console.log(arr);   
 
  function noRepeat(arr){
 
    var newArr = [...new Set(arr)]; //利用了Set结构不能接收重复数据的特点
 
    return newArr
 
  }
 
  var arr2 = noRepeat(arr)
 
  console.log(arr2);

2. ) 중복을 제거하려면

filter( ) 메서드가 새 배열을 생성하고 새 배열의 요소에서 조건을 충족하는 지정된 배열의 모든 요소가 있는지 확인합니다. item은 현재 요소의 값이고 index는 현재 요소의 인덱스 값입니다. indexOf() 메서드는 문자열에서 지정된 문자열 값이 처음 나타나는 것을 반환합니다. indexOf()를 사용하여 배열의 첨자를 쿼리하여 현재 첨자와 같은지 확인하고, 같으면 반환하고, 그렇지 않으면 값이 반환되지 않습니다.

var arr = ['apple','apps','pear','apple','orange','apps'];
 
console.log(arr)    
  var newArr = arr.filter(function(item,index){
     return arr.indexOf(item) === index;  // 因为indexOf 只能查找到第一个  
  });
 
console.log(newArr);

3. indexOf와 함께 for 루프를 사용하여 중복 항목을 제거합니다.

 var arr = [1,9,8,8,7,2,5,3,3,3,2,3,1,4,5,444,55,22];
 function noRepeat(arr) {
//定义一个新的临时数组 
var newArr=[]; 
//遍历当前数组 
for(var i=0;i<arr.length;i++) {
  //如果当前数组的第i已经保存进了临时数组,那么跳过,
  //否则把当前项push到临时数组里面 
  if(newArr.indexOf(arr[i]) === -1) {  //indexOf() 判断数组中有没有字符串值,如果没有则返回 -1 
     newArr.push(arr[i]);
  }
    }
    return newArr
  }
  var arr2 = noRepeat(arr);
  console.log(arr2);

4. 배열의 각 요소를 다른 요소와 차례로 비교하여 삭제가 번거로우며 권장되지 않습니다.

 var arr = [1,9,8,8,7,2,5,3,3,3,2,3,1,4,5,444,55,22];
 console.log(arr);    
 function noRepeat(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);
                    j--;
                }
            }
        }
        return arr;
 }
 var arr2 = noRepeat(arr);
 console.log(arr2);

5. indexOf 메소드 배열의 현재 요소 인덱스를 결정합니다. 루프의 첨자와 같으면 새 배열에 추가합니다

var arr = [1,9,8,8,7,2,5,3,3,3,2,3,1,4,5,444,55,22];
    console.log(arr)    
    function noRepeat(arr) {
        var newArr = [];
        for (var i = 0; i < arr.length; i++) {
            if (arr.indexOf(arr[i]) == i) {
              newArr.push(arr[i]);
            }
        }
        return newArr;
    }
   var arr2 = noRepeat(arr);
   console.log(arr2);

6. 배열을 얻으려면 double for 루프를 사용하세요. 중복제거

var arr = [1,9,8,8,7,2,5,3,3,3,2,3,1,4,5,444,55,22];
console.log(arr);    
function noRepeat(arr){
   for (var i = 0; i < arr.length; i++) {
       for (var j = 0; j < arr.length; j++) {
           if (arr[i] == arr[j] && i != j) { //将后面重复的数删掉
              arr.splice(j, 1);
            }
       }
    }
    return arr;
}
var arr2  = noRepeat(arr);
console.log(arr2);

위 내용은 js 배열에서 중복을 제거하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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