js 中 filter函数在IE浏览器不兼容解决办法
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; //过滤条件,根据自己需求修改 })