> 웹 프론트엔드 > JS 튜토리얼 > JavaScript_javascript 기술의 배열에서 중복 값을 제거하는 권장 방법

JavaScript_javascript 기술의 배열에서 중복 값을 제거하는 권장 방법

WBOY
풀어 주다: 2016-05-16 15:05:55
원래의
1459명이 탐색했습니다.

어레이 중복 제거는 일반적인 요구 사항입니다. 동일한 유형의 어레이 중복 제거를 일시적으로 고려할 것입니다. 가장 중요한 것은 아이디어를 명확하게 하고 성과를 고려하는 것입니다. 다음 방법은 기본적으로 인터넷에서 구할 수 있는 방법인데 여기서는 간단히 요약해 보겠습니다.

사물:

1. 배열을 순회하며 하나씩 비교합니다. 비교가 동일하면 다음을 삭제합니다.
2. 배열을 순회하면서 하나씩 비교하고, 동일하지 않으면 이전 중복 항목을 건너뛰고 새 배열에 넣습니다.
3. 배열 요소를 가져와서 새 배열에 넣고, 나머지 배열 요소를 순회하고, 새 배열의 요소와 하나씩 비교하고, 차이점이 있으면 새 배열에 넣습니다.
4. 배열을 탐색하고 요소를 객체의 속성으로 가져와 해당 속성이 존재하는지 확인합니다.

1. 반복되는 내용 삭제:

function ov1(arr){
  //var a1=((new Date).getTime())
  for(var i=0;i<arr.length;i++)
    for(var j=i+1;j<arr.length;j++)
      if(arr[i]===arr[j]){arr.splice(j,1);j--;}      
  //console.info((new Date).getTime()-a1)        
  return arr.sort(function(a,b){return a-b});
}
로그인 후 복사

2. 이는 이해하기 쉬운 일반적인 방법입니다. 동일하다면 루프에서 벗어나세요.

function ov2(a) {
  //var a1=((new Date).getTime())
  var b = [], n = a.length, i, j;
  for (i = 0; i < n; i++) {
    for (j = i + 1; j < n; j++)
      if (a[i] === a[j]){j=false;break;}
    if(j)b.push(a[i]);
    }
  //console.info((new Date).getTime()-a1)  
  return b.sort(function(a,b){return a-b});
} 
로그인 후 복사

3. 이것을 이해하는 데 오랜 시간이 걸렸습니다. 여기서 j 루프가 계속되지만 i 값이 변경되었습니다. 이는 새로운 i 루프와 동일합니다:

function ov3(a) {
  //var a1=((new Date).getTime())
  var b = [], n = a.length, i, j;
  for (i = 0; i < n; i++) {
    for (j = i + 1; j < n; j++)
    if (a[i] === a[j])j=++i
  b.push(a[i]);}
  //console.info((new Date).getTime()-a1)  
  return b.sort(function(a,b){return a-b});
}   
로그인 후 복사

4. 새 어레이의 모든 항목이 고유한지 확인하세요

function ov4(ar){
//var a1=((new Date).getTime())
  var m=[],f;
  for(var i=0;i<ar.length;i++){
  f=true; 
  for(var j=0;j<m.length;j++)
  if(ar[i]===m[j]){f=false;break;};
  if(f)m.push(ar[i])}
//console.info((new Date).getTime()-a1)  
  return m.sort(function(a,b){return a-b});
}
로그인 후 복사

5. 객체 속성 사용

	function ov5(ar){
	//  var a1=(new Date).getTime()
			var m,n=[],o= {};
			for (var i=0;(m= ar[i])!==undefined;i++)
			if (!o[m]){n.push(m);o[m]=true;}
	//  console.info((new Date).getTime()-a1)  
		return n.sort(function(a,b){return a-b});;
		}
로그인 후 복사

자바스크립트 배열에서 중복된 값을 제거하기 위해 위의 권장 방법은 모두 편집자가 공유한 내용이므로 참고가 되기를 바라며, 스크립트 홈을 지원해 주시길 바랍니다.

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