>  기사  >  웹 프론트엔드  >  js를 사용하여 배열 중복을 제거하는 방법 요약

js를 사용하여 배열 중복을 제거하는 방법 요약

php中世界最好的语言
php中世界最好的语言원래의
2018-06-09 11:47:461362검색

이번에는 js를 사용한 배열 중복 제거 방법에 대해 요약해 보겠습니다. js를 사용하여 배열 중복을 제거할 때 주의 사항은 무엇인가요?

어레이 중복 제거를 달성하는 방법에는 n가지가 있습니다.

es5 구현 방법

for循环+indexOf
function unique(arr) {
  var uniqueArr = [],
   len = arr.length
  for (var i = 0; i < len; i++) {
   if (uniqueArr.indexOf(arr[i]) == -1) {
    uniqueArr.push(arr[i])
   }
  }
  return uniqueArr
 }
 var arr = [1, 2, 3, 1, 5, "1"]
 var uniqueArr = unique(arr)
 console.log(arr)  //[1, 2, 3, 1, 5, "1"]
 console.log(uniqueArr)  //[ 1, 2, 3, 5, '1' ]

정렬 후 중복 제거

function unique(arr) {
  var uniqueArr = [],
   sortArr = arr.concat().sort(),
   len = sortArr.length,
   prev
  for (var i = 0; i < len; i++) {
   if (!i || prev !== sortArr[i]) {
    uniqueArr.push(sortArr[i])
   }
   prev = sortArr[i]
  }
  return uniqueArr
 }
 var arr = [1, 2, 3, 1, 5, "1"]
 var uniqueArr = unique(arr)
 console.log(arr)  //[ 1, 2, 3, 1, 5, '1' ]
 console.log(uniqueArr)  //[ 1, '1', 2, 3, 5 ]
利用对象
function unique(arr) {
  var uniqueArr = [],
   obj = {},
   len = arr.length
  for (var i = 0; i < len; i++) {
   obj[typeof arr[i] + arr[i]] = arr[i]
  }
  for (var i in obj) {
   uniqueArr.push(obj[i])
  }
  console.log(obj)  //{ number1: 1, number2: 2, number3: 3, number5: 5, string1: '1' }
  return uniqueArr
 }
 var arr = [1, 2, 3, 1, 5, "1"]
 var uniqueArr = unique(arr)
 console.log(arr)  // [1, 2, 3, 1, 5, "1"]
 console.log(uniqueArr)  //[ 1, 2, 3, 5, '1' ]

es6 구현 방법

利用Set结构和Array.from
function unique(arr) {
  return Array.from(new Set(arr))
 }
 var arr = [1, 2, 3, 1, 5, "1"]
 var uniqueArr = unique(arr)
 console.log(arr)   //[ 1, 2, 3, 1, 5, '1' ]
 console.log(uniqueArr)  //[ 1, 2, 3, 5, '1' ]
利用Set结构和...
function unique(arr) {
  return [...new Set(arr)]
 }
 var arr = [1, 2, 3, 1, 5, "1"]
 var uniqueArr = unique(arr)
 console.log(arr)  //[ 1, 2, 3, 1, 5, '1' ]
 console.log(uniqueArr)   //[ 1, 2, 3, 5, '1' ]

공통 배열 방법

  • slice()은 대상 배열의 일부를 추출하고 새 배열을 반환하는 데 사용됩니다. array, 원래 배열은 변경되지 않고 그대로 유지됩니다.

  • concat()은 여러 배열을 병합하는 데 사용됩니다. 새 배열의 구성원을 원래 배열의 구성원 끝에 추가한 다음, 원래 배열을 변경하지 않고 새 배열을 반환합니다.

  • reverse()는 배열 요소를 반전하고 변경된 배열을 반환하는 데 사용됩니다. 이 방법은 원래 배열을 변경한다는 점에 유의하세요.

  • sort()는 배열 멤버를 정렬하며 기본값은 사전 순서입니다. 정렬 후에는 원래 배열이 변경됩니다.

  • push()는 배열 끝에 하나 이상의 요소를 추가하는 데 사용되며 새 요소를 추가한 후 배열의 길이를 반환합니다. 이 방법은 원래 배열을 변경한다는 점에 유의하세요.

  • pop()은 배열의 마지막 요소를 제거하고 해당 요소를 반환하는 데 사용됩니다. 이 방법은 원래 배열을 변경한다는 점에 유의하세요.

  • unshift()는 배열의 첫 번째 위치에 요소를 추가하는 데 사용되며 새 요소를 추가한 후 배열의 길이를 반환합니다. 이 방법은 원래 배열을 변경한다는 점에 유의하세요.

  • shift()는 배열의 첫 번째 요소를 삭제하고 해당 요소를 반환하는 데 사용됩니다. 이 방법은 원래 배열을 변경한다는 점에 유의하세요.

  • splice()는 원래 배열의 구성원 중 일부를 삭제하고 삭제된 위치에 새 배열 구성원을 추가하는 데 사용됩니다. 반환 값은 삭제된 요소입니다. 이 방법은 원래 배열을 변경한다는 점에 유의하세요.

  • map()은 배열의 모든 구성원을 매개변수 함수에 차례로 전달한 다음 각 실행 결과를 새 배열로 반환합니다.

  • forEach()는 map 메소드와 매우 유사하며 배열의 모든 멤버에 대해 매개변수 함수를 순서대로 실행합니다. 그러나 forEach 메서드는 값을 반환하지 않으며 데이터를 조작하는 데만 사용됩니다.

  • filter()는 배열 멤버를 필터링하는 데 사용되며, 조건을 충족하는 멤버는 새로운 배열을 구성하여 반환합니다.

  • join()은 지정된 매개변수를 구분 기호로 사용하여 모든 배열 구성원을 문자열로 연결하고 반환합니다. 매개변수가 제공되지 않으면 기본값은 쉼표입니다.

  • indexOf()는 배열에서 주어진 요소가 처음 나타나는 위치를 반환하거나, 나타나지 않으면 -1을 반환합니다.

  • lastIndexOf()는 배열에서 주어진 요소가 마지막으로 나타나는 위치를 반환하거나, 나타나지 않으면 -1을 반환합니다.

이 기사의 사례를 읽으신 후 방법을 마스터하셨다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!

추천 자료:

경우에 vue2.0+boostrap 사용

더블 클릭과 클릭 이벤트 간의 충돌 해결

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

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