JS 네이티브 방법

3431 단어

화살표 함수와this의 사용


1. 화살표 함수 먼저 보기 =>

  • (x)=> x+6등가
  • function(x){
        return x+6
    }
    
  • let varible = (n1 , n2) => n1 + n2;등가
  • var varible = function(n1 , n2){
        return n1 + n2;
    }
    
  • 매개 변수가 없으면 () 즉 let sum= () => 1+2; 와 동일해야 합니다
  • let sum = function(){
        return 1+2;
    }
    
  • 사용자 정의 객체를 반환하려면 () 로 묶기
  • let item = id => ({
        id : id;
        name : "abc"
    })
    //  
    let item = function( id ){
        return {
            id : id;
            name : "abc"
        };
    };
    
  • 응용: 맞춤형 비교기 배열 그룹 사용
  • let result = values.sort((a,b) => a-b);
    

    2.this 용법

  • this는 환경작용역(상문)을 가리키는 지침
  • 호출 함수의 대상
  • 을 가리킨다
  • 용법
  • 글로벌 호출
  • var a;
    function get_a(){
        return this.a;
    }
    
    *  , 
    
    function get_a(){
        console.log(this.a)
    }
    
    var p = {};
    p.a = 3;
    p.run = get_a;
    p.run();        //3
    
    *  , 
    * apply 
    

    이 방법을 이해하십시오(조건을 충족하면true로 되돌아갑니다): Array.some(function(v,i),thisArgs)thisArgs 시 function 함수에서this의 지향점,thisArgs가 String 형식이면this는 이 문자열을 캡처해야 합니다[Eg]
    let arr = [4,5,8,9];
    var newArr_1 = arr.some(unction(v,i,arr){
        console.log(arr); /[4,5,8,9]]
        console.log(this); //{this: 'this'}
        v>=2;
    },{this:'this'})
    console.log(re); //2
    
    var newArr_2= arr.some(function(v,i,arr){
        console.log(this); // ????????????
        v>=10;
    },'_this')
    console.log(re2); //undefined
    

    2.map, reduce, find, filter, forEach, includes


    1. 맵 매핑

    var new_array = arr.map(callback[, thisArg]) 
    
  • 적용: 반전 문자열
  • var str = '12345';
    Array.prototype.map.call(str, function(x) {   // call() 
      return x;
    }).reverse().join(''); 
    

    2. filter 필터: 조건에 맞는 수를 찾아 새 그룹에 저장합니다.

    arr.filter((item, index, this) => {
        condition(item)
    }
    

    3. forEach 배열의 모든 요소

    //forEach
    array.forEach(callback(currentValue, index, array){
        //do something
    }, this)
    // 
    array.forEach(callback(currentValue, index, array){
        //do something
    })  
    

    그리고 또 하나 each.
    //$.each()
    $(selector).each(function(index,element))  // 
    

    예제 data.forEach(function(v,i, a){ a[i] = v + 1; });
  • forEach와 맵의 차이
  • forEach 반환값은 undefined이고 맵은 새로운 수조를 반환합니다. 원수조에 영향을 미치지 않습니다
  • forEach는 순환을 뛰어넘을 수 없습니다. $each()는 모든 요소에 운행 함수를 규정합니다. 부울 값을 되돌려주고 순환을 뛰어넘을 수 있습니다
  • forEach는 전체 수조를 두루 돌아다니며 중간에 뛰거나 순환을 멈추지 않습니다. 만약에 순환을 멈추려면 한 판을 던져야 합니다
  • 4.find 방법: 첫 번째 조건에 맞는 데이터 찾기

    Array.find(function(v,i,arr),thisArgs}
    v: 그룹 값 i: 인덱스arr: 현재 그룹 thisArgs:fn 함수에서this 가리키는

    5.findIndex 메서드: 조건에 맞는 첫 번째 데이터의 인덱스 반환

    array.findIndex(function(currentValue, index, arr), thisValue)findIndex() 방법은 테스트 조건(함수)에 부합되는 그룹의 첫 번째 요소의 색인 위치를 되돌려줍니다.findIndex () 방법은 그룹의 모든 요소에 함수 실행을 호출합니다. 그룹의 요소가 테스트 조건에서true를 되돌릴 때findIndex () 는 조건에 맞는 요소의 인덱스 위치를 되돌려주고 그 후의 값은 실행 함수를 호출하지 않습니다.조건에 맞는 요소가 없으면 -1 주의: findIndex () 는 빈 그룹에 대해 함수가 실행되지 않습니다.참고: findIndex () 는 배열의 원래 값을 변경하지 않았습니다.

    6.includes

    좋은 웹페이지 즐겨찾기