标签:测试 tostring lse 异常 ret 数组 cts 测试的 get
var newArray = arr.filter(callback(element[, index[, array]])[, thisArg])
一个新的、由通过测试的元素组成的数组,如果没有任何数组元素通过测试,则返回空数组。
Array.prototype.myFilter = function (callbackFn, thisArg) {
// 处理回调类型异常
if (Object.prototype.toString.call(callbackFn) != "[object Function]") {
throw new TypeError(callbackFn + " is not a function");
}
var res = [];
for (var i = 0, len = this.length; i < len; i++) {
var exit = callbackFn.call(thisArg, this[i], i, this);
exit && res.push(this[i]);
}
return res;
};
const arr = [1, 2, 3, 4];
arr.myFilter((item) => item > 2); // [3, 4]
arr.myFilter("555"); // Uncaught TypeError: 555 is not a function
标签:测试 tostring lse 异常 ret 数组 cts 测试的 get
原文地址:https://www.cnblogs.com/frank-link/p/14806916.html