No. 22 (데이터 형식, 대상)

3745 단어
자 바스 크 립 트 의 각 데이터 형식, 대상 의 개념 및 상용 방법 파악
정렬
Array.prototype.sort(compareFunction)
  • 인자: compare Function 함 수 를 받 습 니 다. 생략 하면 바 뀐 문자열 의 각 문자 의 유 니 코드 위치 에 따라 정렬 합 니 다.
  • 만약 compareFunction(a,b) 이 0 보다 크 면 a 는 b 의 뒤에
  • 만약 compareFunction(a,b) 0 위치 가 변 하지 않 는 다 면
  • 만약 compareFunction(a,b) 이 0 보다 작 으 면 a 는 b 의 앞 에 있다
  • 반환 값: 정렬 된 배열 을 되 돌려 줍 니 다.원래 배열 은 정렬 된 배열 로 대체 되 었 습 니 다.
  • //number       
    function compare(a, b) {
      if (a < b ) {           //            , a    b
        return -1;
      }
      if (a > b ) {
        return 1;
      }
      // a must be equal to b
      return 0;
    }
    //          ,           a   b,              
    function compareNumbers(a, b) {
      return a - b;
    }
    
    //string       
    //         
                var list = ['Delta', 'alpha', 'CHARLIE', 'bravo'];
                
                //                 
                var mapped = list.map(function(el, i) {
                  return { index: i, value: el.toLowerCase() };
                })
                
                //          
                mapped.sort(function(a, b) {
                  //          ascii    ,  "c"b.value)
                  {
                    return 1;
                  }
                  if(a.value

    Array.prototype.reduce(callback[, initialValue])
    reduce () 방법 은 누산기 와 배열 의 모든 요소 (왼쪽 에서 오른쪽으로) 에 함 수 를 적용 하여 하나의 값 으로 줄 입 니 다.
  • 매개 변수: callback 은 배열 의 모든 값 의 함 수 를 실행 하고 네 개의 매개 변 수 를 포함 합 니 다.
  • accumulator 누적 기 누적 반전 의 반환 값;이것 은 지난번 호출 에서 되 돌 릴 때 되 돌아 온 누적 값 이나 initial Value (아래 와 같다) 입 니 다.
  • currentValue 배열 에서 처리 중인 요소 입 니 다.
  • currentIndex (선택 가능) 배열 에서 처리 하고 있 는 현재 요소 의 색인 입 니 다.initialValue 를 제공 하면 색인 번 호 는 0 이 고 그렇지 않 으 면 색인 은 1 입 니 다.
  • array (선택 가능) reduce 를 호출 하 는 배열
  • initialValue (선택 가능) 는 첫 번 째 콜 백 을 호출 하 는 첫 번 째 매개 변수의 값 으로 사 용 됩 니 다.초기 값 을 제공 하지 않 으 면 배열 의 첫 번 째 요 소 를 사용 합 니 다.초기 값 이 없 는 빈 배열 에서 reduce 를 호출 하면 오류 가 발생 합 니 다.
  • 반환 값 함수 누적 처리 결과 리 셋 함수 가 처음 실 행 될 때 accumulator 와 currentValue 의 추출 값 은 두 가지 상황 이 있 습 니 다. reduce 를 호출 할 때 initialValue 를 제공 하고 accumulator 의 추출 값 은 initialValue 이 며 currentValue 는 배열 의 첫 번 째 값 을 가 져 옵 니 다.initial Value, accumulator 는 배열 의 첫 번 째 값 을 제공 하지 않 았 습 니 다. currentValue 는 배열 의 두 번 째 값 을 가 져 옵 니 다.
  • var sum = [0, 1, 2, 3].reduce(function (a, b) {
      return a + b;
    }, 0);
    // sum is 6
    var flattened = [[0, 1], [2, 3], [4, 5]].reduce(
      function(a, b) {
        return a.concat(b);
      },
      []
    );
    // flattened is [0, 1, 2, 3, 4, 5]
    

    Array.prototype.map()
    map () 방법 은 새 배열 을 만 듭 니 다. 그 결 과 는 이 배열 의 모든 요소 가 제공 하 는 함 수 를 호출 한 후에 돌아 온 결과 입 니 다.
    문법
    let new_array = arr.map(function callback(currentValue, index, array) { // Return element for new_array }[, thisArg])
  • 매개 변수: callback 은 새로운 배열 요소 의 함 수 를 생 성하 고 세 개의 매개 변 수 를 사용 합 니 다.
  • currentValue callback 의 첫 번 째 매개 변 수 는 배열 에서 처리 하고 있 는 현재 요소 입 니 다.
  • index callback 의 두 번 째 매개 변수, 배열 에서 처리 하고 있 는 현재 요소 의 색인.
  • array callback 의 세 번 째 매개 변수, map 방법 이 호출 된 배열 입 니 다.
  • thisArg (선택 가능) 이 callback 함 수 를 실행 할 때 사용 하 는 this 값 입 니 다.
  • 새로운 배열 의 값 을 되 돌려 주 고 모든 요 소 는 반전 함수 의 결과 입 니 다.map 방법 은 원래 배열 의 모든 요소 에 콜 백 함 수 를 순서대로 호출 합 니 다.map 는 원본 배열 자 체 를 변경 하지 않 습 니 다.
  • var numbers = [1, 4, 9];
    var doubles = numbers.map(function(num) {
      return num * 2;
    });
    
    // doubles     : [2, 8, 18]
    // numbers      : [1, 4, 9]
    var map = Array.prototype.map
    var a = map.call("Hello World", function(x) { 
      return x.charCodeAt(0); 
    })
    // a   [72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100]
    

    좋은 웹페이지 즐겨찾기