3가지 구현 방법: 1. 데이터 구조 및 "Array.from()" 중복 제거 설정, 구문 "Array.from(new Set(arr))" 2. 데이터 구조 및 확장 연산자 설정 "..."중복 제거 , 구문 "[...new Set(arr)]"; 3. filter() 및 indexOf() 필터링, 구문 "arr.filter((it,in)=>{return arr.indexOf(it , 0)===in;});”.
이 튜토리얼의 운영 환경: Windows 7 시스템, ECMAScript 버전 6, Dell G3 컴퓨터.
ES6 배열을 중복 제거하는 5가지 방법
1 데이터 구조 및 Array.from()을 중복 제거로 설정
Set은 ES6에서 제공하는 새로운 데이터 구조로 배열과 유사하지만 그 자체로는 중복된 값이 없습니다. 이 기능을 사용하면 중복 제거를 위해 배열을 Set 유형으로 변환한 다음 Array.from 메서드를 사용하여 다시 배열로 변환할 수 있습니다.
Array.from 메소드는 두 가지 유형의 객체, 즉 배열 유사 객체와 반복 가능한 객체(ES6의 새로운 데이터 구조 Set 및 Map 포함)를 실제 배열로 변환하는 데 사용됩니다.
구현 아이디어:
배열을 집합 컬렉션으로 변환하고 중복을 제거한 후 Array.from 메서드를 사용하여 집합을 배열로 변환
구문:
Array.from(new Set(arr))
예:
let arr=[1,2,3,3,2,"1",0,undefined,undefined]; let newArr=Array.from(new Set(arr)); console.log(newArr);
2. 데이터 구조 설정 및 확산 연산자 "..." 중복 제거
확산 연산자…
는 ES6에 도입되어 반복 가능한 객체를 별도의 요소로 확장합니다. 배열, 문자열, 맵, 세트, DOM 노드 등과 같이 for of 루프를 사용하여 탐색할 수 있는 모든 객체입니다.
구현 아이디어:
배열을 집합으로 변환 중복 제거 후 확산 연산자를 사용하여 집합을 배열로 확장하고 집합을 배열로 변환
구문:
[...new Set(arr)]
예:
let arr=[1,2,3,3,2,"1",0,1,2]; let newArr=[...new Set(arr)]; console.log(newArr);
3. 중복 항목을 제거하려면 배열의 filter+indexOf 메서드를 사용하세요.
filter() 메서드를 사용하면 새 배열의 요소가 지정된 요소에 대해 확인됩니다. 조건에 맞는 배열입니다.
indexOf 메소드는 배열에 있는 지정된 요소의 첫 번째 인덱스(index)를 반환하고 그렇지 않은 경우 -1
을 반환합니다. 예:
var arr=[1, 2, 3, 2, 3]; var newArr = arr.filter((item,index)=> { return arr.indexOf(item,0) === index; }); console.log(newArr);
여기서 arr 배열의 각 요소는 indexOf()를 전달합니다. 메서드에서 반환된 인덱스 값은 0 1 2 1 2
arr.forEach(item => console.log(arr.indexOf(item))); // 0 1 2 1 2
indexOf를 사용하여 중복 제거를 달성할 수 있습니다. 예를 들어 arr의 네 번째 요소 2는 indexOf를 통해 1의 인덱스를 반환하지만 현재 인덱스 첨자는 3입니다. , 같지 않음. 이는 현재 2개의 요소가 이전에 나타났으므로 필터링해야 함을 나타냅니다.
【관련 추천: javascript 비디오 튜토리얼, web front-end】
위 내용은 es6에서 arr(배열) 중복 제거를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!