Array.prototype.some = function (callbak) { let len = this.length let result for (let i = 0; i < len; i++) { result = callbak(this[i], i, this) if (result) { break } } return !!result } var a = [1, 2, 3] let result = a.some((item, index, context) => { console.log(item) return item === 2 }) console.log(result)