중복 제거 방법: 1. "Array.from(new Set(arr))" 문을 사용합니다. 2. "[...new Set(arr)]" 문을 사용합니다. 3. "arr.filter( (item,index )=>arr.indexOf(item)===index)" 문입니다.
이 튜토리얼의 운영 환경: Windows 7 시스템, JavaScript 버전 1.8.5, Dell G3 컴퓨터.
1. Array.from(new Set(arr))
const arr = [1, 2, 3, 2, 3]; Array.from(new Set(arr)); // [1, 2, 3]
Set의 요소는 원래 값이든 개체 참조이든 고유하므로 , 따라서 배열을 Set 개체로 변환하여 중복 제거를 달성할 수 있습니다
Array.from
메서드는 Set 개체를 배열로 변환할 수 있습니다Array.from
方法可以将 Set 对象转换成数组
2、[…new Set(arr)]
const arr = [1, 2, 3, 2, 3]; [...new Set(arr)]; // [1, 2, 3]
这里是通过 ES6
的展开语法将 Set 对象转换成数组;
3、arr.filter((item, index) => arr.indexOf(item) === index)
const arr = [1, 2, 3, 2, 3]; arr.filter((item, index) => arr.indexOf(item) === index); // [1, 2, 3]
indexOf
方法返回指定元素在数组中的第一个索引(index), 如果没有则返回 -1
所以这里的 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, 但是它当前的 index 下标是 3,不相等,说明当前的这个 2
2, [...new Set(arr) ] rrreee
다음은 Set 객체를 배열로 변환하는ES6
의 확장 구문입니다. 🎜🎜🎜🎜3, arr.filter((item, index) => arr.indexOf (item) == = index)🎜🎜🎜rrreee🎜indexOf
메소드는 배열에서 지정된 요소의 첫 번째 인덱스(index)를 반환하고, 그렇지 않은 경우 -1🎜🎜을 반환하므로 여기서 arr은 배열의 각 요소 indexOf()
메서드에서 반환되는 인덱스 값은 0 1 2 1 2🎜rrreee🎜 indexOf
를 사용하여 다음과 같은 중복 제거를 달성할 수 있습니다. arr2의 네 번째 요소는 indexOf
를 통해 1의 인덱스를 반환하지만 현재 인덱스 아래 첨자는 3입니다. 이는 동일하지 않으며 현재 2 요소가 있습니다. 이전에 등장했으므로 필터링해야 합니다🎜🎜[관련 권장 사항: 🎜javascript 학습 튜토리얼🎜🎜]🎜🎜
위 내용은 자바스크립트 배열에서 중복 항목을 제거하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!