리 뷰 javascript 13: 배열 API

7944 단어
(1) 지식 포인트
  • (1.1) 배열 을 문자열 로 변환
  • (1.2) 연결 배열 concat
  • (1.3) 하위 그룹 slice 가 져 오기
  • (1.4) splice: 삽입 교체 삭제
  • (1.5) reverse: 배열 의 모든 요 소 를 뒤 집 는 위치
  • (1.6) sort (): 정렬
  • (1.7) 스 택 과 대기 열
  • (2) 세분 화
    (2.1) 배열 을 문자열 로 변환
    두 가지 방법 이 있 습 니 다.
    var str=arr.toString(); //배열 에 있 는 요소 의 내용 을 되 돌려 주 고 var str = arr. join ("연결 문자") 을 쉼표 로 구분 합 니 다. /사용자 정의 연결 부
  • 빈 틈 없 는 배열 의 모든 요소: var str = arr. join (") 을 추가 하지 않 으 면 toString 과 같은 효 과 를 가 집 니 다. 쉼표
  • 를 사용 합 니 다.
  • 단 어 를 문장 으로 연결 합 니 다. var str = arr. join (");
  • 배열 을 html 요소 로 연결 합 니 다. 최적화: 배열 의 연결 은 문자열 의 연결 보다 효율 이 높 습 니 다!

  • 제안: 앞으로 빈번 한 문자열 연결 은 2 단계 가 필요 합 니 다. (1) 연결 할 하위 문자열 을 한 배열 에 넣 고 (2) 배열 을 호출 하 는 join 방법 으로 결과 문자열 을 한꺼번에 생 성 합 니 다.
    (2.2) 연결 배열
    var newArr = arr1. concat (arr2, 값 1, 값 2,...)
    강조: concat 는 원래 배열 을 수정 하지 않 고 항상 새 배열 로 돌아 갑 니 다.
    (2.3) 하위 배열 가 져 오기
    var subArr=arr.slice(starti,endi+1);
    starti: 가 져 오기 시작 한 아래 표 시 된 위치 endi: 가 져 오기 까지 의 아래 표 시 된 위치 * * 포함 머리 에 꼬리 가 없 음 * slice 방법 은 역수 파 라미 터 를 지원 합 니 다. 사실 음수 아래 표 시 는 존재 하지 않 습 니 다. 가 정 된 음수 아래 표 시 는 - 1 부터 시작 합 니 다.
    (2.4) 삽입 교체 삭제
    splice () 방법 은 배열 에 항목 을 추가 / 삭제 한 다음 삭 제 된 항목 을 되 돌려 줍 니 다.
    arrayObject.splice(index,howmany,item1,.....,itemX)
    splice () 방법 은 index 에서 시 작 된 0 개 이상 의 요 소 를 삭제 하고 매개 변수 목록 에서 설명 한 하나 이상 의 값 으로 삭 제 된 요 소 를 대체 할 수 있 습 니 다.array Object 에서 요 소 를 삭제 하면 삭 제 된 요 소 를 포함 한 배열 을 되 돌려 줍 니 다.
  • 삭제: arr. splice (starti, n) starti 위치 부터 n 개 요소 삭제
  • 삽입: arr. splice (starti, 0, 새 값 1, 새 값 2,...) 는 starti 위치 에 새 값 1, 새 값 2,... 원래 starti 위치 와 그 후의 요 소 를 삽입 하여 뒤로 이동 합 니 다
  • 교체: arr. splice (starti, n, 새 값 1, 새 값 2,...) 새 요소 의 개수 와 n 이 같 지 않 은 배열 은 요소 의 위치 와 길 이 를 자동 으로 조정 합 니 다
  • (2.5) 배열 의 모든 요소 의 위 치 를 뒤 바 꿉 니 다.
    arr.reverse();
    (2.6)sort()
    arr.sort();
    sort () 방법 은 배열 의 요 소 를 정렬 하 는 데 사 용 됩 니 다.배열 은 원래 배열 에서 정렬 을 하고 복사 본 을 만 들 지 않 습 니 다.특징: 기본 값 은 오름차 순 으로 배열 되 어 있 으 며, 기본 값 은 모두 문자열 로 바 뀌 어 있 으 며, 문자열 의 크기 에 따라 정렬 됩 니 다.
    정렬 규칙 을 정의 하려 면 2 단계: 첫 번 째 단계 가 필요 합 니 다. 비교 기 함수 정의: 임의의 두 값 크기 를 비교 하 는 함수 규정: 두 개의 인자 (a, b) 는 반드시 숫자 를 되 돌려 야 합 니 다.    a > b 라면 정수 로 돌아 가 야 합 니 다.    하면, 만약, 만약...    하면, 만약, 만약...
    두 번 째 단계. 비교 기 함수 대상 을 매개 변수 로 sort 방법 에 전달 합 니 다.    arr. sort (비교 기 함수 명); /함수 명 에 괄호 tips 를 넣 지 않 음: 오름차 순 서 를 바 꾸 고 내림차 순 서 를 바 꾸 면 비교 기의 논리 * - 1
    (2.7) 스 택 과 대기 열
    사실 모두 배열 인 데, 단지 다른 방법 을 사 용 했 을 뿐이다.
  • 스 택 의 한 끝 은 폐쇄 되 고 다른 한 끝 에서 만 드 나 드 는 배열 은 언제 스 택 을 사용 할 수 있 습 니까? 배열 의 한 끝 에서 만 드 나 들 수 있 습 니 다
  • LIFO --- > last in first out a. 마지막 출입 창고: 입 창고:
    arr. push (새 값); = >arr [arr. length] = 새 값;
    출고:
    var last=arr.pop();
    * * 출입 창고 에 상 관 없 이 기 존 요소 의 위치 에 영향 을 주지 않 습 니 다. 효율 이 높 습 니 다 * *
    b. 첫 번 째 출입 창고: 입 창고:
    arr. unshift (새 값);
    출고:
    var first=arr.shift()
    * * 매번 창고 에 출입 할 때마다 모든 잉여 원소 의 위치 이동 에 영향 을 줍 니 다. 효율 이 낮 습 니 다 * *
  • 대기 열 은 한 끝 에서 만 들 어 갈 수 있 습 니 다. 다른 한 끝 에서 언제 사용 해 야 합 니까? 먼저 도착 한 선 득
  • 만 있 으 면 됩 니 다.
    FIFO --- > first in first out 엔 딩 대기 열:
    arr. push (새 값);
    시작 대기 열:
    var first=arr.shift();
    (3) 실천
    
    
    
        
          API
    
    
    

    var arr1 = [1, 2, 3, 'a', 'b', 'c'];

    var arr2 = ['a', 'b'];

    var del = [1, 2, 3, 4, 5, 6];

    var insert = [1, 2, 3, 4, 5, 6];

    var replace = [1, 2, 3, 4, 5, 6];

    var sortArray = [6,3,5,44,22,1];

    init(); function init() { var arr1 = [1, 2, 3, 'a', 'b', 'c']; arrToString(arr1); //(1) //(2) :concat var arr2 = ['a', 'b']; concatArr(arr1, arr2); //(3) slice childArr(arr1); //(4) splice, var del = [1, 2, 3, 4, 5, 6]; delArr(del); var insert = [1, 2, 3, 4, 5, 6]; insertArr(insert); var replace = [1, 2, 3, 4, 5, 6]; replaceArr(replace); //(5) reverse(arr1); //(6)sort var sortArray = [6, 3, 5, 44, 22, 1]; sort(sortArray); sort2(sortArray); sort3(sortArray); } function arrToString(arr) { var str = arr.toString(); //1,2,3 , var str2 = arr.join(""); //123 , console.log(' , “,” :'); console.log(str); console.log(' , :'); console.log(str2); } function concatArr(arr1, arr2) { var newArr = arr1.concat(arr2); console.log(' :'); console.log(newArr); //[1, 2, 3, "a", "b"] concat , } function childArr(arr) { var newArr = arr.slice(0, 4); //[1, 2, 3, "c"] var newArr1 = arr.slice(-1, 4); //[] console.log(' 0-4:'); console.log(newArr); console.log(' (-1)- 4:'); console.log(newArr1); } function delArr(arr) { var delArr = arr.splice(2, 1); // 2 , 1 console.log('splice :'); console.log(delArr); console.log(' :'); console.log(arr); } function insertArr(arr) { var insetArr = arr.splice(2, 0, 'c', 'd', 'e'); // 2 , 'c','d','e' console.log('splice :'); console.log(insetArr); console.log(' :'); console.log(arr); } function replaceArr(arr) { var replaceArr = arr.splice(2, 2, 'r', 'e', 'p', 'l', 'a', 'c', 'e'); // n , console.log('splice :'); console.log(replaceArr); console.log(' :'); console.log(arr); } function reverse(arr) { var reverse = arr.reverse(); console.log('reverse :'); console.log(reverse); } function sort(arr) { var sortArr = arr.sort(); console.log('sort , :'); console.log(sortArr); //[1, 22, 3, 44, 5, 6] } /** * , * , * (1) * (2) sort */ function sort2(arr) { var sortArr = arr.sort(sortNum); console.log('sort , :'); console.log(sortArr); //[1, 3, 5, 6, 22, 44] } function sortNum(a, b) { return a - b; } /** * , * *-1 * @param arr */ function sort3(arr) { var sortArr = arr.sort(sortNumDown); console.log('sort , :'); console.log(sortArr); //[44, 22, 6, 5, 3, 1] } function sortNumDown(a, b) { return (a - b) * (-1); } /** * */ var bottomStack = new Array(); // push for (var i = 1; i <= 10; i++) { bottomStack.push(i); } console.log(bottomStack); // pop // ,length //for(var i = 1; i < bottomStack.length; i++) { for (var i = 1; i <= 10; i++) { console.log(" :" + bottomStack.pop()); console.log(" :" + bottomStack.toString()); console.log("_____"); } /** * */ // unshift var headStack = []; for (var i = 1; i <= 10; i++) { headStack.unshift(i) } console.log(headStack); // shift for (var i = 1; i <= 10; i++) { console.log(" :" + headStack.shift()); console.log(" :" + headStack.toString()); console.log("*****") } /** * : , */ // :push var lineArr = []; for (var i = 1; i <= 10; i++) { lineArr.push(i); } console.log(lineArr); // :shift for (var i = 1; i <= 10; i++) { console.log(" :" + lineArr.shift()); console.log(" :" + lineArr.toString()); console.log("*****") }

    좋은 웹페이지 즐겨찾기