在ES5中,我们可以通过以下方式实现数组的some
方法的功能:
Array.prototype.mySome = function(callback, thisArg) { if (typeof callback !== 'function') { throw new TypeError(callback + ' is not a function'); } var array = Object(this); var length = array.length >>> 0; for (var i = 0; i < length; i++) { if (i in array) { var result = callback.call(thisArg, array[i], i, array); if (result) { return true; } } } return false; };
callback
是否为函数,否则抛出类型错误Object(this)
确保处理的是数组对象>>> 0
确保length为有效数字这个实现模拟了原生some
方法的行为,包括稀疏数组的处理和thisArg参数的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。