| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 | | "use strict"; |  |   |  | var toPosInt          = require("../../number/to-pos-integer") |  |   , callable          = require("../../object/valid-callable") |  |   , value             = require("../../object/valid-value") |  |   , objHasOwnProperty = Object.prototype.hasOwnProperty |  |   , call              = Function.prototype.call; |  |   |  | module.exports = function (cb /*, thisArg*/) { |  |     var i, self, thisArg; |  |   |  |     self = Object(value(this)); |  |     callable(cb); |  |     thisArg = arguments[1]; |  |   |  |     for (i = toPosInt(self.length) - 1; i >= 0; --i) { |  |         if (objHasOwnProperty.call(self, i)) call.call(cb, thisArg, self[i], i, self); |  |     } |  | }; | 
 |