-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathsome.js
More file actions
29 lines (24 loc) · 785 Bytes
/
some.js
File metadata and controls
29 lines (24 loc) · 785 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/*
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some
*/
// Production steps of ECMA-262, Edition 5, 15.4.4.17
// Reference: http://es5.github.io/#x15.4.4.17
if (!Array.prototype.some) {
Array.prototype.some = function(callback, thisArg) {
if (this === void 0 || this === null) {
throw new TypeError('Array.prototype.some called on null or undefined');
}
if (callback.__class__ !== 'Function') {
throw new TypeError(callback + ' is not a function');
}
var t = Object(this);
var len = t.length >>> 0;
var T = arguments.length > 1 ? thisArg : void 0;
for (var i = 0; i < len; i++) {
if (i in t && callback.call(T, t[i], i, t)) {
return true;
}
}
return false;
};
}