1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| "use strict";
|
| var callable = require("./valid-callable")
| , isValue = require("./is-value")
| , forEach = require("./for-each")
| , call = Function.prototype.call
| , defaultCb = function (value, key) { return [key, value]; };
|
| module.exports = function (obj/*, cb, thisArg, compareFn*/) {
| var a = [], cb = arguments[1], thisArg = arguments[2];
| cb = isValue(cb) ? callable(cb) : defaultCb;
|
| forEach(
| obj,
| function (value, key, targetObj, index) {
| a.push(call.call(cb, thisArg, value, key, this, index));
| },
| obj, arguments[3]
| );
| return a;
| };
|
|