js 에서 filter 함수 가 IE 브 라 우 저 에서 호 환 되 지 않 는 해결 방법

3461 단어
JS 에서 filter 방법 은 배열 을 걸 러 내 는 데 사 용 됩 니 다.
인 스 턴 스: 배열 nums 의 5 이상 요 소 를 되 돌려 줍 니 다.
var nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

var res = nums.filter((num) => {
  return num > 5;
});

console.log(res);  // [6, 7, 8, 9, 10]

IE 호 환 되 지 않 는 해결 방법: 공용 방법 을 쓰 고,
Array.prototype.myfilter = function(fun /*, thisp*/){  
    var len = this.length;  
    if (typeof fun != "function"){  
        throw new TypeError();  
    }  
    var res = new Array();  
    var thisp = arguments[1];  
    for (var i = 0; i < len; i++){  
        if (i in this){  
            var val = this[i]; // in case fun mutates this  
            if (fun.call(thisp, val, i, this)) {  
                res.push(val);  
            }  
        }  
    }  
    return res;  
}; 
  //         
// ArrData tina   var tina = ArrData.myfilter(function(item, inde, array){     return item.mapid == 5; //   })

 
다음으로 전송:https://www.cnblogs.com/loveBetty/p/11171504.html

좋은 웹페이지 즐겨찾기