123456789101112131415161718192021 |
- 'use strict';
- var isPlainArray = require('../../is-plain-array')
- , callable = require('../../../object/valid-callable')
- , isArray = Array.isArray, map = Array.prototype.map
- , forEach = Array.prototype.forEach, call = Function.prototype.call;
- module.exports = function (callbackFn/*, thisArg*/) {
- var result, thisArg;
- if (!this || !isArray(this) || isPlainArray(this)) {
- return map.apply(this, arguments);
- }
- callable(callbackFn);
- thisArg = arguments[1];
- result = new this.constructor(this.length);
- forEach.call(this, function (val, i, self) {
- result[i] = call.call(callbackFn, thisArg, val, i, self);
- });
- return result;
- };
|