Collections

  • 2017-04-18
  • 21
  • 0

Collections

Reads: 3064

underscore为集合类对象提供了一致的接口。集合类是指Array和Object,暂不支持Map和Set。

map/filter

Arraymap()filter()类似,但是underscore的map()filter()可以作用于Object。当作用于Object时,传入的函数为function (value, key),第一个参数接收value,第二个参数接收key:

你也许会想,为啥对Object作map()操作的返回结果是Array?应该是Object才合理啊!把_.map换成_.mapObject再试试。

every / some

当集合的所有元素都满足条件时,_.every()函数返回true,当集合的至少一个元素满足条件时,_.some()函数返回true

当集合是Object时,我们可以同时获得value和key:

max / min

这两个函数直接返回集合中最大和最小的数:

注意,如果集合是Object,max()min()只作用于value,忽略掉key:

groupBy

groupBy()把集合的元素按照key归类,key由传入的函数返回:

可见groupBy()用来分组是非常方便的。

shuffle / sample

shuffle()用洗牌算法随机打乱一个集合:

sample()则是随机选择一个或多个元素:

更多完整的函数请参考underscore的文档:http://underscorejs.org/#collections



Comments

Make a Comment

(全部文章来自采集,清泉删除)

评论

还没有任何评论,也用不到你