2022-01-21 08:28:41 +00:00
|
|
|
"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;
|
|
|
|
|
2022-03-14 15:40:45 +00:00
|
|
|
module.exports = function (cb /*, thisArg*/) {
|
2022-01-21 08:28:41 +00:00
|
|
|
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);
|
|
|
|
}
|
|
|
|
};
|