map.js 582 B

123456789101112131415161718
  1. var _cb = require('./_cb.js');
  2. var _isArrayLike = require('./_isArrayLike.js');
  3. var keys = require('./keys.js');
  4. // Return the results of applying the iteratee to each element.
  5. function map(obj, iteratee, context) {
  6. iteratee = _cb(iteratee, context);
  7. var _keys = !_isArrayLike(obj) && keys(obj),
  8. length = (_keys || obj).length,
  9. results = Array(length);
  10. for (var index = 0; index < length; index++) {
  11. var currentKey = _keys ? _keys[index] : index;
  12. results[index] = iteratee(obj[currentKey], currentKey, obj);
  13. }
  14. return results;
  15. }
  16. module.exports = map;