map.js
573 Bytes
define(['./_cb', './_isArrayLike', './keys'], function (_cb, _isArrayLike, keys) {
// Return the results of applying the iteratee to each element.
function map(obj, iteratee, context) {
iteratee = _cb(iteratee, context);
var _keys = !_isArrayLike(obj) && keys(obj),
length = (_keys || obj).length,
results = Array(length);
for (var index = 0; index < length; index++) {
var currentKey = _keys ? _keys[index] : index;
results[index] = iteratee(obj[currentKey], currentKey, obj);
}
return results;
}
return map;
});