underscore.js _.map[Collections]

本文深入解析JavaScript中_.map方法的使用,包括其基本语法、实现原理以及常见应用场景。通过示例代码演示如何利用_.map方法遍历数组或对象,并进行数据转换。

Produces a new array of values by mapping each value in list through a transformation function (iterator). If the native map method exists, it will be used instead. If list is a JavaScript object, iterator's arguments will be (value, key, list).

所有的javascript对象元素都将经过回调函数作用

1 _.map([1, 2, 3], function(num){ return num * 3; });
2 => [3, 6, 9]
3 _.map({one : 1, two : 2, three : 3}, function(num, key){ return num * 3; });
4 => [3, 6, 9]

源码:

 1  _.map = _.collect = function(obj, iterator, context) {
 2     var results = [];
 3     if (obj == null) return results;
 4     if (nativeMap && obj.map === nativeMap) return obj.map(iterator, context);
 5     each(obj, function(value, index, list) {
 6       results[results.length] = iterator.call(context, value, index, list);
 7     });
 8     if (obj.length === +obj.length) results.length = obj.length;
 9     return results;
10   };

 

 

 

转载于:https://www.cnblogs.com/himan/archive/2012/04/20/2460726.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值