JS 인용 형식의 -- 배열

6377 단어 참조 형식
머리말
배열 은 JS 에서 매우 자주 사용 하 는 인용 유형 으로 그 기능 이 매우 강하 다. 오늘 돼지 는 철저하게 그것 을 보 았 다.돼지 머리 가 모자 라 는 걸 막 기 위해 서 기 록 했 어 요.
1. 배열 의 생 성
var arrayObj = new Array(); //      

     

var arrayObj = new Array([size]); //           ,      ,   

     

var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]); //         

설명 하고 자 하 는 것 은 두 번 째 방법 으로 배열 을 만 드 는 데 길 이 를 지 정 했 지만 실제 모든 상황 에서 배열 이 길 어 졌 다 는 것 이다. 즉, 길 이 를 5 로 지정 하 더 라 도 원 소 를 규정된 길이 이외 의 곳 에 저장 할 수 있다 는 것 이다. 이때 길이 가 달라 질 수 있다 는 것 이다.2. 배열 의 요소 에 대한 접근
var testGetArrValue=arrayObj[1]; //        

     

arrayObj[1]= "    "; //          

3. 배열 요소 의 추가
arrayObj. push([item1 [item2 [. . . [itemN ]]]]);//                 ,        

     

arrayObj.unshift([item1 [item2 [. . . [itemN ]]]]);//                 ,          ,       

     

arrayObj.splice(insertPos,0,[item1[, item2[, . . . [,itemN]]]]);//                   ,           ,  ""。

4. 배열 요소 의 삭제
arrayObj.pop(); //               

     

arrayObj.shift(); //               ,         

     

arrayObj.splice(deletePos,deleteCount); //       deletePos       deleteCount   ,            

splice () 방법 을 중점적으로 살 펴 보면 이 방법 은 아마도 가장 강력 한 배열 방법 이 라 고 할 수 있 을 것 이다. 그것 은 여러 가지 용법 이 있다.splice () 의 주요 용 도 는 배열 의 중부 에 항목 을 삽입 하 는 것 이지 만 이런 방법 을 사용 하 는 방식 은 다음 과 같은 세 가지 가 있다.
  • 삭제: 임의의 항목 을 삭제 할 수 있 습 니 다. 2 개의 인자 L 이 삭제 할 첫 번 째 항목 의 위치 와 삭제 할 항목 만 지정 하면 됩 니 다.예 를 들 어 splice (0, 2) 는 배열 의 앞 두 항목 을 삭제 합 니 다.
  • 삽입: 지정 한 위치 에 임의의 수량의 항목 을 삽입 할 수 있 습 니 다. 3 개의 인자 만 제공 하면 됩 니 다. 실제 위치, 0 (삭제 할 항목) 과 삽입 할 항목 입 니 다.여러 항목 을 삽입 하려 면 네 번 째, 다섯 번 째 항목 에서 여러 항목 으로 다시 들 어 갈 수 있다.예 를 들 어 splice (2, 0, 'red', 'green') 는 현재 배열 의 위치 2 부터 문자열 'red' 와 'green' 을 삽입 합 니 다.
  • 교체: 지정 한 위치 에 임의의 수량의 항목 을 삽입 할 수 있 고 임의의 수량의 항목 을 삭제 할 수 있 습 니 다. 3 개의 인자 만 지정 하면 됩 니 다. 실제 위치, 삭제 할 항목 과 삽입 할 항목 입 니 다.삽 입 된 항목 은 삭 제 된 항목 과 같 을 필요 가 없습니다.예 를 들 어 splice (2, 1, "red", "green") 는 현재 배열 위치 2 의 항목 을 삭제 한 다음 위치 2 부터 문자열 "red" 와 "green" 을 삽입 합 니 다.

  • splice () 방법 은 항상 하나의 배열 로 돌아 갑 니 다. 이 배열 에는 원본 배열 에서 삭 제 된 항목 이 포함 되 어 있 습 니 다. (항목 을 삭제 하지 않 으 면 빈 배열 로 돌아 갑 니 다)5. 배열 의 캡 처 와 합병
    arrayObj.slice(start, [end]); //              ,      end      ,     end     start        
    
         
    
    arrayObj.concat([item1[, item2[, . . . [,itemN]]]]); //     (       ,            )       ,          

    6. 배열 의 복사
    arrayObj.slice(0); //         ,         ,    
    
         
    
    arrayObj.concat(); //         ,         ,    

    7. 배열 요소 의 정렬
    arrayObj.reverse(); //    (       、       ),      
    
         
    
    arrayObj.sort(); //       ,      

    그 중에서 비교적 재 미 있 는 것 은 sort 방법 입 니 다. 기본 적 인 상황 에서 sort () 방법 은 오름차 순 으로 배열 한 배열 항목 입 니 다. 즉, 최소 값 은 맨 앞 에 있 고 최대 값 은 맨 뒤에 있 습 니 다.정렬 을 실현 하기 위해 sort () 방법 은 각 배열 항목 의 toString () 전환 방법 을 호출 한 다음 에 비교 한 문자열 을 사용 하여 정렬 방법 을 확인 합 니 다. 배열 의 모든 항목 이 수치 라 하 더 라 도 sort () 방법 은 문자열 입 니 다. 아래 코드 와 같 습 니 다.
    var values=[0,1,5,10,15];
    
    values.sort();
    
    alert(values);     //0,1,10,15,5

    이 를 통 해 알 수 있 듯 이 예 중 값 의 책 순서 에 문제 가 없 더 라 도 sort () 방법 은 테스트 문자열 의 결과 에 따라 원래 의 순 서 를 바 꿉 니 다.수치 5 는 10 보다 작 지만 문자열 비교 식 을 하고 '10' 은 '5' 앞 에 있 기 때문에 배열 의 순서 가 수정 되 었 다.이거 어 떡 하지?다행히 sort () 방법 은 비교 함 수 를 매개 변수 로 받 아들 일 수 있 으 며, 우 리 는 그 값 이 어느 값 앞 에 있 는 지 를 정할 수 있 습 니 다.
    비교 함 수 는 두 개의 파 라 메 터 를 받 습 니 다. 첫 번 째 파 라 메 터 는 두 번 째 전에 마이너스 로 돌아 가 야 합 니 다. 두 매개 변수 가 같 으 면 0 으로 돌아 간 다음 에 정 수 를 되 돌려 줍 니 다.다음은 간단 한 비교 함수 입 니 다.
     
    function compare(value1, value2){
    
        if(value1<value2){
    
            return -1;
    
        }else if(value1>value2){
    
            return 1;
    
        }else{
    
            return 0;
    
        }
    
    }//                  ,           sort    ,  
    
    var values = [0,1,5,10,15];
    
    values.sort(compare);
    
    alert(values);   //0,1,5,10,15

    물론 비교 함 수 를 이용 하여 내림차 순 의 결 과 를 실현 할 수 있 으 며, 비교 함수 가 되 돌아 오 는 값 만 교환 하면 된다.
     
    8. 배열 요소 의 문자열 화
    arrayObj.join(separator); //     ,                    ,    separator   。
    
         
    
    toLocaleString 、toString 、valueOf://     join     ,   

    다음 방법 은 Ie 9 이하 브 라 우 저 에서 지원 되 지 않 습 니 다.
    9. 위치 방법 ECMAScript 5 는 배열 인 스 턴 스 에 두 가지 위치 방법 을 추가 했다. index Of () 와 lastIndex Of ().이 두 가지 방법 은 모두 두 개의 인 자 를 받 습 니 다. 찾 을 항목 과 (선택 할 수 있 는) 출발점 위 치 를 찾 는 색인 을 표시 합 니 다.그 중에서 index Of () 방법 은 배열 의 시작 (위치 0) 부터 뒤로 찾 고 last Index Of () 방법 은 배열 의 끝 에서 앞으로 찾 습 니 다.
    이 두 가지 방법 은 모두 찾 아야 할 항목 이 배열 에 있 는 위 치 를 되 돌려 주거 나 찾 지 못 한 상태 에서 되 돌려 줍 니 다. - 1. 첫 번 째 매개 변수 와 배열 의 모든 항목 을 비교 할 때 전체 조작 자 를 사용 합 니 다.검색 을 요구 하 는 항목 은 엄격하게 동일 해 야 한 다 는 것 이다 (= = =).
    var numbers =[1,2,3,4,5,4,3,2,1];
    
      
    
    alert(numbers.indexof(4));       //3
    
      
    
    alert(numbers.lastIndexOf(4));   //5
    
      
    
    alert(numbers,indexOf(4,4));     //5
    
    alert(numbers.lastIndexOf(4,4)); //3
    
      
    
    var person ={name:"Nicholas"};
    
    var people = [{name:"Nicholas"}];
    
      
    
    var morePeople = [person];
    
      
    
    alert(people.indexOf(person));   //-1
    
    alert(morePeople.indexOf(person));//0

    10. 교체 방법
  • every (): 배열 의 모든 항목 에 대해 주어진 함 수 를 실행 합 니 다. 이 함수 가 모든 항목 에 대해 true 로 돌아 가면 true 로 돌아 갑 니 다.
  • filter (): 배열 의 모든 실행 주어진 함수 에 대해 이 함 수 를 되 돌려 주면 true 항목 으로 구 성 된 배열
  • 을 되 돌려 줍 니 다.
  • foreach (): 배열 의 모든 실행 주어진 함수 에 대해 이 방법 은 값 을 되 돌려 주지 않 았 습 니 다.
  • map (): 배열 의 모든 실행 주어진 함수 에 대해 매번 함수 호출 결과 로 구 성 된 배열 을 되 돌려 줍 니 다.
  • some (): 배열 의 모든 실행 주어진 함수 에 대해 이 함수 가 모든 항목 에 대해 true 로 돌아 가면 true 로 돌아 갑 니 다.

  • 이상 의 방법 은 배열 에 포 함 된 값 을 수정 하지 않 습 니 다.
    var numbers = [1,2,3,4,5,4,3,2,1];
    
     
    
    var everyResult = numbers.every(function(item,index,array){
    
        return (item >2);
    
    });
    
    alert(everyResult);//false
    
     
    
    var someResult = numbers.some(function(item,index,array){
    
        return (item >2);
    
    });
    
    alert(someResult);//true
    
     
    
    var filerResult =numbers.filter(function(item,index,array){
    
        return (item >2);
    
    });
    
    alert(filerResult);//[3,4,5,4,3]
    
     
    
    var mapResult=numbers.map(function(item,index,array){
    
        return item*2;
    
    });
    
    alert(mapResult);//[2,4,6,8,10,8,6,4,2]
    
     
    
    numbers.forEach(function(item,index,array){
    
        //      
    
    });

     
     
     
    11. 축소 방법
    reduce () reduceRight () 방법

    좋은 웹페이지 즐겨찾기