자바스크립트 배열에서 중복을 제거하는 방법

藏色散人
풀어 주다: 2023-01-04 09:35:05
원래의
8341명이 탐색했습니다.

JavaScript 배열에서 중복을 제거하는 방법: 1. "indexOf()" 메서드를 사용하여 중복 값을 제거합니다. 2. splice 메서드를 사용하여 중복 값을 제거합니다. 3. es6의 새 세트 Set을 사용하여 중복 값을 제거합니다.

자바스크립트 배열에서 중복을 제거하는 방법

이 문서의 운영 환경: Windows 7 시스템, JavaScript 버전 1.8.5, Dell G3 컴퓨터.

js 배열에서 중복 값을 제거하는 여러 가지 방법

일상적인 개발 중에 배열에서 중복 값을 제거하는 경우가 발생할 수 있습니다. 그러면 제가 배운 여러 가지 방법을 소개하겠습니다. 공유

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

1, indexOf() 메서드를 사용하여 제거

아이디어: 새 배열을 만든 다음 배열을 반복하여 중복을 제거한 다음 새 배열을 사용하여 찾기 복제할 배열의 값을 찾을 수 없으면 .push를 사용하여 새 배열에 추가하고 마지막으로 코드를 이해하지 못해도 상관없습니다.

function fun(arr){
 let newsArr = [];
 for (let i = 0; i < arr.length; i++) {
  if(newsArr.indexOf(arr[i]) === -1){
   newsArr.push(arr[i]);
  }
 }
 return newsArr;
}
로그인 후 복사

2. 스플라이스 방법을 사용하여 제거

아이디어: 이 방법은 버블링을 약간 모방한 것입니다. 외부 루프는 배열을 통과하고 내부 루프는 값을 비교합니다. 동일하므로 splice를 사용하여 제거하고 처리된 배열을 반환하세요. 이해하지 못하더라도 문제가 되지 않습니다.

function fun(arr){
 for (let i = 0; i < arr.length; i++) {
  for(let j = i+1; j < arr.length; j++){
   if(arr[i]==arr[j]){
    arr.splice(j,1);          j--;
   }
  }
 }
 return arr;
}
로그인 후 복사

3, 제거하려면 es6의 새 세트를 사용하세요.

여기서 Set 컬렉션에 대해 간략하게 소개합니다. 배열과 매우 친숙하지만 배열이 아니라 컬렉션입니다. 그 안에도 추가(add), 삭제(delete), 확인(has) 등 다양한 메소드가 있습니다.

가장 중요한 기능은 요소가 반복될 수 없다는 것입니다. 즉, 동일한 요소가 Set 컬렉션에 나타나지 않습니다.

Set 중복 제거 솔루션 1:

아이디어: 중복된 값이 Set에 나타날 수 없기 때문입니다. 이 기능은 중복을 제거하기 위해 배열을 전달합니다

먼저 새 세트를 만들고 중복 제거된 배열을 매개변수로 전달한 다음 새 배열을 만들고 세트를 반복하고 각 세트 요소를 새 배열을 추가하고 새 배열을 반환하면 됩니다.

function fun(arr){
 let s1 = new Set(arr);
 let arr2 = [];
 for(let item of s1){
  arr2.push(item);
 }
 return arr2;
}
로그인 후 복사

중복 제거 솔루션 설정 2(배열 메서드 Array.form() 사용):

아이디어: Array.from()은 의사 배열과 집합을 배열 유형으로 변환할 수 있습니다. 메소드는 Set Set과 결합되어 우리의 요구 사항을 충족합니다

[권장 학습:

javascript 고급 튜토리얼

]

function fun(arr){
 let s1 = new Set(arr); 
 return Array.from(s1);
}
로그인 후 복사

Set 중복 제거 솔루션 3(es6 확장 연산자 사용...): 아이디어: es6 확장 연산자는 배열을 변환할 수 있습니다. 쉼표로 구분된 매개변수 시퀀스로 변환

function fun(arr){
 let s1 = new Set(arr); 
 return [...s1];
}
로그인 후 복사

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

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿