1 var isObject = require('../lang/isObject');
2 var values = require('../object/values');
3 var arrMap = require('../array/map');
4 var makeIterator = require('../function/makeIterator_');
7 * Map collection values, returns Array.
9 function map(list, callback, thisObj) {
10 callback = makeIterator(callback, thisObj);
11 // list.length to check array-like object, if not array-like
12 // we simply map all the object values
13 if( isObject(list) && list.length == null ){
16 return arrMap(list, function (val, key, list) {
17 return callback(val, key, list);