xhy-xe-utils
Version:
JavaScript 函数库、工具类
31 lines (28 loc) • 755 B
JavaScript
var isFunction = require('../base/isFunction')
var each = require('../base/each')
var property = require('../function/property')
/**
* 指定方法后的返回值组成的新数组
*
* @param {Object} obj 对象/数组
* @param {Function} iterate(item, index, obj) 回调
* @param {Object} context 上下文
* @return {Array}
*/
function map (obj, iterate, context) {
var result = []
if (obj && arguments.length > 1) {
if (!isFunction(iterate)) {
iterate = property(iterate)
}
if (obj.map) {
return obj.map(iterate, context)
} else {
each(obj, function () {
result.push(iterate.apply(context, arguments))
})
}
}
return result
}
module.exports = map