1
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
var each = require('./each')
|
||||
var isFunction = require('./isFunction')
|
||||
var property = require('./property')
|
||||
|
||||
/**
|
||||
* 指定方法后的返回值组成的新对象
|
||||
*
|
||||
* @param {Object} obj 对象/数组
|
||||
* @param {Function} iterate(item, index, obj) 回调
|
||||
* @param {Object} context 上下文
|
||||
* @return {Object}
|
||||
*/
|
||||
function objectMap (obj, iterate, context) {
|
||||
var result = {}
|
||||
if (obj) {
|
||||
if (iterate) {
|
||||
if (!isFunction(iterate)) {
|
||||
iterate = property(iterate)
|
||||
}
|
||||
each(obj, function (val, index) {
|
||||
result[index] = iterate.call(context, val, index, obj)
|
||||
})
|
||||
} else {
|
||||
return obj
|
||||
}
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
module.exports = objectMap
|
||||
Reference in New Issue
Block a user