무거운 && JS로 어레이 배열 객체

중복 제거 어레이

인터뷰가 종종 함수를 작성 JS를 사용하여 질문을 배열에 무거운 이동합니다.

1. ES6 새로운 설정 모드 ()

<! DOCTYPE HTML> 
<HTML LANG = "EN"> 
<head> 
  <메타 캐릭터 = "UTF-8"> 
  <메타 이름 = "뷰포트"내용 = "폭 = 기기 폭 초기 스케일 = 1.0"> 
  < 메타 HTTP-당량 = "X-UA-지원"내용 = "즉 = 엣지"> 
  <제목> 문서 </ 제목> 
</ head> 
<body> 
  <script> 
    도착하자 = [1,1,2,2, 3,3,4,4,5,5 ];
    기능 독특한 (편곡) {
       반환  새로운 세트 (편곡)는 
    } 
    하자 고해상도 = (편곡) 고유; 
    CONSOLE.LOG (해상도); 
  </ script> 
</ BODY> 
</ HTML>

 

 

2. 어레이를 이용하는 방법이있을 것 같이 IndexOf 중복

<! DOCTYPE HTML> 
<HTML LANG = "EN"> 
<head> 
  <메타 문자 집합 = "UTF-. 8"> 
  <메타 이름 = "뷰포트"내용 = "너비 = 장치 폭, 초기 스케일 = 1.0"> 
  < HTTP-당량 = 메타 "X - UA에 호환"내용 = "IE = 엣지"> 
  <제목> 문서가 </ 제목> 
헤드 </> 
<BODY> 
  <스크립트> 
    송출의 ARR = [1,1,1,2, 3,3,4,11,112,332,332,2,2,3,3,4,4,5,5 ];
     / *  
      아이디어 : 
        1. 비어있는 배열 생성 
        도착 통해 데이터주기, 빈 배열 결정 여부 2. 로 밀어 넣기를 가지고 도착 값 
    *를 /   
    uniqueArr 내버려 = []; 
    (arr.map 아이템 =>{
       // 을 console.log (항목);
      uniqueArr.indexOf (항목) == -1? uniqueArr.push (항목) : "" ; 
    }) 
    CONSOLE.LOG (uniqueArr); 
  </ script> 
</ BODY> 
</ HTML>

 

중복 제거 Array 객체

 무게를 줄이기 위해 객체의 배열의 1.

= 기록하자 (콘솔) console.log.bind을; 
하자 사람 = [ 
     {ID : 0 명 "小의明" }, 
     {ID : 1 명 "小张" }, 
     {ID : 2 명 "小李" }, 
     {ID : 3, 이름 "小孙" }, 
     {ID : 1 명"小周" }, 
     {ID : 2 명"小陈" }    
]; 

OBJ하자 = } {; 

사람 = person.reduce ((현재, 다음) => { 
    OBJ [next.id] ''? OBJ [next.id =  && cur.push (다음)
     복귀 CUR;// 설정 기본 타입의 배열 CUR, 그리고 빈 배열의 초기 값 
로그 (사람);

 

문자열 배열 2. 사용 경량화와 같은 특성 값을 유지하도록 2

다시하기 전에 이동

 

 

다시 후 이동

 

<! DOCTYPE HTML> 
<HTML LANG = "EN"> 

<head> 
  <메타 캐릭터 = "UTF-8"> 
  <메타 이름 = "뷰포트"내용 = "폭 = 기기 폭 초기 스케일 = 1.0"> 
  < 메타 HTTP-당량 = "X-UA-지원"내용 = "즉 = 엣지"> 
  <제목> 문서 </ 제목> 
</ head> 

<body> 
  <script> 
    할 사람 = [{
         '나이'41 ,
         ' ID ': 12 , 
      }, 
      {
         '나이 '20 ,
         'ID ': 12 , 
      }, 
      {
         '나이 ': 23 ,
        'ID': 12 , 
      }, 
      {
         '나이': 25 ,
        'ID'15 , 
      }, 
      {
         연령 "30 ,
         "ID "15 , 
      }, 
      {
         연령"12 인 ,
         'ID'20 인 , 
      } 
    ] 
    송출 로그 = (console.log.bind 콘솔 .LOG) 
    송출 OBJ = {} 
    가 obj2가 송출 = {} 
    (가) peon2 내버려 = []; 
    페온 내버려 = person.reduce ((CUR, 다음) => {
       // ""를 표현하는 삼중 무엇도 나타낸다 여기 next'id 작동하지 않는 것은 다시 드 '이 프로그램 next.'id 기반으로한다는 것을 의미'; 
      // OBJ [next.id] ''? OBJ [다음.ID는 (다음)를 참 && cur.push =;
      IF (OBJ [next.id]) {
         // , 어레이 peon2에 추가되는 경우, 본 배열 또는 객체 ID가 존재 분석 
        ; peon2.push (NEXT) 
      } 다른 { 
        OBJ [next.id] = true로를 && CUR (다음) .push; 
      } 
      // (OBJ) 로그 
      리턴 CUR] 
    }, []) // 설정된 기본 유형 어레이 CUR을 널값 데이터 리턴 

    // 재 다시 데이터 
    peon2 = peon2한다. 줄이거 ((CUR, 다음) => {
       IF (obj2보다 [next.id]) { 
        peon2.push (NEXT) 
      } 다른 { 
        obj2보다 [next.id] = true로 && cur.push (NEXT);
      } 
      반환 CUR을; 
    }, []) 
    peon2.map (항목 => { 
      peon.push (항목) 
    }) 
    로그 (보병); 
  </ script> 
</ BODY> 

</ HTML>

 

추가 정보 :

  • https://www.cnblogs.com/caideyipi/p/7679681.html
  • https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce

추천

출처www.cnblogs.com/sauronblog/p/11531277.html