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

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

WBOY
WBOY원래의
2016-05-16 15:05:551460검색

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

사물:

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});;
		}

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

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