배열 과 알고리즘 - 배열 에서 자주 사용 하 는 15 가지 방법

10296 단어
배열 에서 자주 사용 하 는 15 가지 방법
배열 에서 자주 사용 하 는 방법 을 배 우려 면 우 리 는 네 가지 측면 에서 토론 해 야 한다.
  • 방법의 역할
  • 어떤 인자 & lt
  • 를 전달 해 야 합 니까?
  • 반환 값 이 있 는 지, 반환 값 이 무엇 인지
  • 이 방법 을 통 해 기 존 배열 에 변화 가 생 겼 는 지 여부
  • 1. ary. push () 방법 은 배열 의 끝 에 새로운 내용 을 추가 합 니 다.
    var ary = [11,12,13,14];
    var res = ary.push(100,“ok”);
    console.log(res,ary);
    

    결 과 는 6 [11, 12, 13, 14, 100, ok] 이다.
  • 상기 결 과 를 통 해 알 수 있 듯 이 전달 해 야 할 것 은 - > 증가 하고 싶 은 것 을 전달 하고 여러 값 을 전달 할 수 있다.반환 값 - > 새 배열 의 길이 입 니 다.기 존 배열 - > 변경 되 었 습 니 다
  • 이 방법의 확장 ary. length 추가 항목
    var ary = [11,12,13,14];
    res = ary[ary.length] = 101;
    console.log(res,ary);
    

    결 과 는 101 [11, 12, 13, 14, 101] > arylength 로 도 차이 가 많 지 않 은 목적 을 달성 할 수 있다.
    2. ary. pop () 방법 으로 배열 의 마지막 항목 을 삭제 합 니 다.
    var ary = [11,12,13,14];
    var res = ary.pop();
    console.log(res,ary);
    

    결 과 는 14. [11, 12, 13]
  • 상기 결 과 를 통 해 알 수 있 듯 이 전달 해 야 할 것 은 - > 없다.반환 값 - > 배열 에서 삭 제 된 항목 입 니 다.기 존 배열 - > 변경 되 었 습 니 다
  • 이 방법의 확장 ary. length -- 배열 의 마지막 항목 삭제
    var ary = [11,12,13,14];
    ary.length--;
    console.log(ary);
    
    

    결 과 는 [11, 12, 13] arylength 로 도 차이 가 많 지 않 은 목적 을 달성 할 수 있다.
    3. ary. shift () 방법 으로 배열 의 첫 번 째 항목 을 삭제 합 니 다.
    var ary = [11,12,13,14];
    var res = ary.shift();
    console.log(res,ary);
    

    결 과 는 11 [12, 13, 14]
  • 상기 결 과 를 통 해 알 수 있 듯 이 전달 해 야 할 것 은 - > 없다.반환 값 - > 배열 에서 삭 제 된 항목 입 니 다.기 존 배열 - > 변경 되 었 습 니 다
  • 4. ary. unshift () 방법 으로 배열 의 첫 번 째 항목 을 추가 합 니 다.
    var ary = [11,12,13,14];
    var res = ary.unshift(10);
    console.log(res,ary);
    

    결 과 는 5 [10, 11, 12, 13, 14].
  • 상기 결 과 를 통 해 알 수 있 듯 이 전달 해 야 할 것 은 - > 증가 하고 자 하 는 것 을 전달 하 는 것 이다.반환 값 - > 새 배열 길이 입 니 다.기 존 배열 - > 변경 되 었 습 니 다
  • 5. ary. splice () 방법 (중요 한 방법), 증가, 삭제, 수정 을 실현 할 수 있 습 니 다 - > 기본 방법 은 삭제, 증가 와 수정 은 삭제 에서 파생 된 것 입 니 다.
    다음은 삭제
  • ary. aplice (n, m) 는 색인 n 부터 m 개의 요 소 를 삭제 하고 삭 제 된 내용 을 새로운 배열 로 되 돌려 주 며 값 을 되 돌려 줍 니 다. 원래 배열 이 바 뀌 었 습 니 다
  • var ary = [11,12,13,14,15,16,17,18];
    var res = ary.splice(1,3); //   1   12,  3 ,    12,13,14
    console.log(res,ary);
    

    결 과 는 [12, 13, 14] [11, 15, 16, 17, 18]
    우 리 는 또 다른 쓰 기 를 보 았 다.
    var ary = [11,12,13,14,15,16,17,18];
    var res = ary.splice(1); //   1   12,     ,    
     12,13,14,15,16,17,18
    console.log(res,ary);
    

    결 과 는 [12, 13, 14, 15, 16, 17, 18] [11]
    두 가지 특이 한 묘사 가 있다.
    ary.splice(0) //           ,     ,   (    )   
     (        ),        ,            ,      
    

    결 과 는 [11, 12, 13, 14, 15, 16, 17, 18] []
    ary.splice() //          ,       ,         
    

    결 과 는 [] [11, 12, 13, 14, 15, 16, 17, 18]
    다음은 수정.
  • ary. aplice (n, m, x) 는 색인 n 부터 m 개의 요 소 를 삭제 하고 삭 제 된 부분 을 X 로 교체 하 며 삭 제 된 내용 을 새로운 배열 로 되 돌려 주 는 값 입 니 다. 원래 의 배열 이 바 뀌 었 습 니 다
  • var ary = [11,12,13,14,15,16,17,18];
    var res = ary.splice(1,3,1000); //   1  (12  ),  3   (  
      12,13,14), 1000     ,       12,13,14         
    (   ),          
    console.log(res,ary);
    

    결 과 는 [12, 13, 14] [11, 1000, 15, 16, 17, 18]
    이하 증가
  • ary. splice (n, 0, x) 는 색인 을 시작 으로 0 개 (하나 도 삭제 하지 않 음) 를 삭제 하고 x 로 삭 제 된 부분 (삭제 되 지 않 으 면 증가) 을 교체 합 니 다. 여기 서 주의 하 십시오 (x 가 추 가 된 내용 은 n 색인 내용 앞 에 놓 여 있 습 니 다) 반환 값 은 빈 배열 (하나 도 삭제 되 지 않 았 기 때 문) 입 니 다. 원래 배열 이 바 뀌 었 습 니 다
  • var ary = [11,12,13,14,15,16,17,18];
    var res = ary.splice(1,0,1000);
    console.log(res,ary);
    

    결 과 는 [11, 1000, 12, 13, 14, 15, 16, 17, 18] 이다.
  • 상기 결 과 를 통 해 알 수 있 듯 이 전달 해 야 할 것 은 - > 구체 적 인 수요 두 개 또는 세 개의 매개 변 수 를 보 는 것 이다.반환 값 - > 삭 제 된 내용 입 니 다.기 존 배열 - > 변경 되 었 습 니 다
  • 6. ary. slice () 방법, 검색, 배열 의 내용 에 대한 검색 을 실현 할 수 있 습 니 다.
  • ary. slice (n, m) 는 색인 n 부터 색인 m (m 포함 되 지 않 음) 를 찾 습 니 다. 반환 값 (새 배열) 은 찾 은 부분 입 니 다. 원래 의 배열 은 변 하지 않 습 니 다
  • ar ary = [11,12,13,14,15,16,17,18];
    var res = ary.slice(1,4); //   1(12)  ,    
     4(15),     4(15),    12,13,14
    console.log(res,ary);
    

    결 과 는 [12, 13, 14] [11, 12, 13, 14, 15, 16, 17, 18]
    > 두 가지 특이 한 표기 법 이 있 습 니 다. ary. slice (n) 는 색인 n 에서 시작 하여 배열 의 끝 ary. slice (0) / ary. slice () 는 색인 0 에서 시작 하여 배열 의 끝 을 찾 습 니 다. 괄호 안에 0 또는 아무것도 쓰 지 않 고 보통 배열 복제 로 사용 합 니 다.
    var ary = [11,12,13,14,15,16,17,18];
    var res = ary.slice(1); //        1  ,       ,  
     (    )       
    console.log(res,ary);
    

    결 과 는 [12, 13, 14, 15, 16, 17, 18] [11, 12, 13, 14, 15, 16, 17, 18]
    var ary = [11,12,13,14,15,16,17,18];
    var res = ary.slice(); //        0  ,       ,  
     (    )    
    console.log(res,ary)
    

    결 과 는 [11, 12, 13, 14, 15, 16, 17, 18] [11, 12, 13, 14, 15, 16, 17, 18]
  • 상기 결 과 를 통 해 알 수 있 듯 이 전달 해 야 할 것 은 - > 구체 적 인 수요 두 개 또는 한 개 를 보 거나 전달 하지 않 는 것 이다.반환 값 - > 찾 은 내용 입 니 다.기 존 배열 - > 변경 되 지 않 음
  • 7. ary. concat () 방법, 두 개의 배열 을 연결 하면 원래 의 배열 은 변 하지 않 습 니 다.
  • var ary 3 = ary 1. concat (ary 2) 배열 1 과 배열 2 를 연결 하여 새로운 배열 3
  • 을 형성한다.
    var ary1 = [1,2,3];
    var ary2 = [4,5,6];
    var ary3 = ary1.concat(ary2);
    console.log(ary3,ary1,ary2);
    

    결 과 는 [1, 2, 3, 4, 5, 6] [1, 2, 3] [4, 5, 6]
    특이 한 묘사 가 있다.
    var ary1 = [1,2,3];
    var ary2 = [4,5,6];
    var ary3 = ary1.concat(); //      ,           ,
     ary1   ary3,      
    console.log(ary3,ary1,ary2);
    

    결 과 는 [1, 2, 3] [1, 2, 3] [4, 5, 6]
  • 상기 결 과 를 통 해 알 수 있 듯 이 전달 해 야 할 것 은 - > 하나의 배열 을 전달 하 는 것 이다.반환 값 - > 연결 에 성공 한 새 배열 입 니 다.기 존 배열 - > 변경 되 지 않 음
  • 8. ary. toString () 방법 은 배열 을 문자열 로 바 꾸 고 기 존 배열 에 변 함 이 없습니다.
    var ary = [10,11,12];
    var res = ary.toString();
    console.log(res,ary);
    

    결 과 는 '10, 11, 12' 였 다. [10, 11, 12]
  • 상기 결 과 를 통 해 알 수 있 듯 이 전달 해 야 할 것 은 - > 없다.값 - > 변 환 된 문자열 을 되 돌려 줍 니 다.기 존 배열 - > 변경 되 지 않 음
  • 9. ary. join () 방법 은 구분자 에 따라 배열 의 내용 을 기호 로 연결 하고 문자열 을 연결 하 며 기 존 배열 에 변 함 이 없습니다.
    var ary = [10,11,12];
    var res = ary.join("@");
    console.log(res,ary);
    
    

    결 과 는 "10@11@12” [10, 11, 12]
    넓히다
    > 이 방법의 확장 eval () eval () 문자열 을 JS 표현 식 으로 바 꾸 어 실행 하 는 방법 - > 문자열 의 방법
    예컨대
    console.log(eval("1+2+3"));
    

    결과
    이상 의 방법의 학습 을 통 해 우 리 는 한 문 제 를 풀 어 연습 할 수 있다.
    문제: 배열 에 대한 구 화, var ary = [1, 2, 3, 4, 5];답:
    var ary = [1,2,3,4,5];
    var val = ary.join("+");//             
    var res = eval(val);//       JS   ,     
    console.log(val,res,ary);
    

    결 과 는 1 + 2 + 3 + 4 + 5 15 [1, 2, 3, 4, 5] 이기 때문에 답 은 15 입 니 다.
  • 상기 결 과 를 통 해 알 수 있 듯 이 전달 해 야 할 것 은 - > 문자열 로 구 분 된 동쪽 이 고 기본 값 은 쉼표 입 니 다.값 - > 변 환 된 문자열 을 되 돌려 줍 니 다.기 존 배열 - > 변경 되 지 않 음
  • 10. ary. reverse () 방법 은 기 존의 배열 을 거꾸로 배열 하여 기 존의 배열 에 영향 을 미친다.
    var ary = [1,2,3,4,5];
    var res = ary.reverse();
    console.log(res,ary);
    

    결 과 는 [5, 4, 3, 2, 1] [5, 4, 3, 2, 1]
  • 상기 결 과 를 통 해 알 수 있 듯 이 전달 해 야 할 것 은 - > 없다.값 - > 거꾸로 배열 한 새 배열 을 되 돌려 줍 니 다.기 존 배열 - > 변경 사항 발생
  • 11. ary. sort) 방법 으로 배열 에 정렬 (소 - > 대, 대 - > 소) 하면 원래 의 배열 이 변 경 됩 니 다.
  • ary,sort();기본적으로 한 자릿수 를 처리 하고 배열 의 첫 번 째 순 서 를 정렬 합 니 다. 예 를 들 어 18, 38, 28 배열 의 결 과 는 18, 28, 38 이 고 10 이내 의 순 서 를 처리 할 수 있 습 니 다. 유 니 코드 인 코딩 값 에 따라 순 서 를 매 깁 니 다. 따라서 우 리 는 보통 다음 과 같은 예 에 따라 순 서 를 매 깁 니 다
  • .
    var ary = [34,56,23,19,18,26];
    var res = ary.sort(function (n, m) {
    return n-m; //    ,     ,         
    });
    console.log(res,ary);
    

    결 과 는 [18, 19, 23, 26, 34, 56] [18, 19, 23, 26, 34, 56]
  • 상기 결 과 를 통 해 알 수 있 듯 이 전달 해 야 할 것 은 - > 없다.반환 값 - > 정렬 된 새 배열 입 니 다.기 존 배열 - > 변경 사항 발생
  • 12. ary. index Of () 방법, 현재 요소 가 배열 에서 처음 나타 나 는 색인 입 니 다. 배열 에 이 항목 이 있 으 면 현재 위치의 색인 을 되 돌려 줍 니 다. 없 으 면 - 1 을 되 돌려 줍 니 다. 원래 의 배열 은 변 하지 않 습 니 다.
    var ary = [1,2,3,4,5];
    var res1 = ary.indexOf(1);
    var res2 = ary.indexOf(6);
    console.log(res1,res2);
    

    결 과 는 0 - 1; >메모: 이 방법 은 표준 브 라 우 저 에서 만 호 환 됩 니 다. IE6 ~ 8 호 환 되 지 않 습 니 다.
  • 상기 결 과 를 통 해 알 수 있 듯 이 전달 해 야 할 것 은 - > 검 측 해 야 할 요소 이다.반환 값 - > 현재 요소 의 색인 또는 - 1.기 존 배열 - > 변경 되 지 않 습 니 다
  • 13. ary. lastIndex Of () 방법, 현재 요소 가 배열 에서 마지막 으로 나타 나 는 색인, 배열 에 이 항목 이 있 으 면 현재 위치 로 돌아 가 는 색인, 없 으 면 - 1 로 돌아 갑 니 다. 원래 의 배열 은 변 하지 않 습 니 다.
    var ary = [1,2,3,4,5,1];
    var res1 = ary.lastIndexOf(1);
    var res2 = ary.lastIndexOf(6);
    console.log(res1,res2);
    

    결 과 는 5 - 1.
    > 메모: 이 방법 은 표준 브 라 우 저 에서 만 호 환 됩 니 다. IE6 ~ 8 은 호 환 되 지 않 습 니 다. (문자열 에 도 이 방법 이 있 지만 문자열 에 서 는 호 환 됩 니 다)
  • 상기 결 과 를 통 해 알 수 있 듯 이 전달 해 야 할 것 은 - > 검 측 해 야 할 요소 이다.반환 값 - > 현재 요소 의 색인 또는 - 1.기 존 배열 - > 변경 되 지 않 습 니 다
  • 14. ary. foreach () 방법 은 배열 의 모든 항목 을 옮 겨 다 니 며 원래 의 배열 은 변 하지 않 습 니 다.
    var ary = [1,2,3,4,5];
    var res = ary.forEach(function (item, index, input) {
    console.log(item,index,input);
    });
    console.log(ary);
    

    결 과 는 10 [1, 2, 3, 4, 5] 2 1 [1, 2, 3, 4, 5] 3 2 [1, 2, 3, 4, 5] 4 3 [1, 2, 3, 4, 5] 5 4 4 [1, 2, 3, 4, 5] [1, 2, 3, 4, 5] [1, 3, 4, 5]
  • 상기 함수 에서 의 매개 변 수 는 item 은 배열 의 모든 항목 을 대표 하고 index 는 색인 값 을 대표 하 며 input 은 원래 배열 을 대표 합 니 다. 이 함수 에 서 는 반환 값 을 쓸 필요 가 없습니다.그 밖 에 우 리 는 이 방법 이 실 행 된 횟수 가 배열 의 길이 와 같다 는 것 을 알 수 있다. 즉, 배열 이 얼마나 길 고 이 방법 은 몇 번
  • 을 집행 하 는 지 알 수 있다.
    > 메모: 이 방법 은 표준 브 라 우 저 에서 만 호 환 되 며 IE6 ~ 8 은 호 환 되 지 않 습 니 다.
  • 상기 결 과 를 통 해 알 수 있 듯 이 전달 해 야 할 것 은 - > 함수 에서 전 참 된 것 이 고 전달 매개 변수의 내용 은 구체 적 인 수요 에 따라 결정 된다.반환 값 - > 함수 가 반환 값 이 없습니다.기 존 배열 - > 변경 되 지 않 습 니 다
  • 15. ary. map () 방법 은 배열 의 모든 항목 을 매 핑 합 니 다. 원래 의 배열 은 변 하지 않 습 니 다. 이 방법 은 foreach 의 문법 과 같 지만 foreach () 보다 원래 의 내용 을 교체 하 는 기능 입 니 다.
    var ary = [1,2,3,4,5];
    var res = ary.map(function (item, index, input) {
    return item*10;
    });
    console.log(res,ary);
    

    결 과 는 [10, 20, 30, 40, 50] [1, 2, 3, 4, 5]
    > 우 리 는 결 과 를 통 해 알 수 있 듯 이 map 는 반드시 반환 값 이 있어 야 하고 모든 항목 을 수정 해 야 합 니 다. 따라서 우 리 는 foreach 는 주로 모든 항목 을 옮 겨 다 니 는 것 이 고 map 는 모든 항목 의 값 을 수정 하 는 데 사 용 됩 니 다.
  • 상기 결 과 를 통 해 알 수 있 듯 이 전달 해 야 할 것 은 - > 함수 에서 전 참 된 것 이 고 전달 매개 변수의 내용 은 구체 적 인 수요 에 따라 결정 된다.반환 값 - > 함 수 는 반환 값 이 있어 야 합 니 다. 즉, return 을 써 야 합 니 다.기 존 배열 - > 변경 되 지 않 습 니 다
  • 좋은 웹페이지 즐겨찾기