fc157f53f71450a9ec0b266b2fb10506a7e87d7d
[platform/framework/web/crosswalk-tizen.git] /
1 var isObject = require('../lang/isObject');
2 var values = require('../object/values');
3 var arrMap = require('../array/map');
4 var makeIterator = require('../function/makeIterator_');
5
6     /**
7      * Map collection values, returns Array.
8      */
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 ){
14             list = values(list);
15         }
16         return arrMap(list, function (val, key, list) {
17             return callback(val, key, list);
18         });
19     }
20
21     module.exports = map;
22
23