underscore的使用

卧斋 2014-05-18

Underscore 是一个JavaScript实用库,提供了类似Prototype.js (或 Ruby)的一些功能,但是没有继承任何JavaScript内置对象。它弥补了部分jQuery没有实现的功能,同时又是Backbone.js必不可少的部分。

1.  _. filter 遍历一个数组从中找到符合条件的对象,并将所有符合条件的对象返回到一个新的数组中

实例:

var sign_up_bids = _.filter(bid_messages, function (bid_message) {
        return bid_message.activity == localStorage.current_activity 
 })

2.  _.find 遍历一个数组,从中找到第一个符合条件的值并返回

实例:

var bid_success = _.find(counts, function (count) {
        return count.count == "1";
 })

3.  _.chain 对同一数组进行不同操作时用,按顺序执行到value时停止

实例:

var bid_results = _.chain(bid_messages)
        .filter(function (bid_message) {
            return bid_message.activity == localStorage.current_activity && bid_message.name == localStorage.current_bid;
        })
        .sortBy(function (bid_message) {
            return (bid_message.price)
        })
        .value();

 对bid_messages数组进行了过滤和排序操作,执行到value是该过程结束。

4.  _.groupBy 富哦一个进行排序

实例:

var count = _.groupBy(bid_results, function (bid_result) {
         return bid_result.price;
 })

 对bid_results数组按价格升序进行排序

5.  _.map 对一个数组进行操作,通过一个方法产生一个新的数组

实例:

var counts = _.map(count, function (value, key) {
        return  {"price": key, "count": value.length}
 })

 对coount数组操作,通过function(value, key)返回一个新的数组counts 这个数组中包括price 和 count两个属性。

6.  _.sortBy:按某种元素排序,返回按序排好的新列表,不改变原列表的值

实例:

var bid=_.sortBy(bid_messages,function (bid_message) {
            return bid_message.price;
})

 对bid_messages数组按价格排序,并返回到bid一个新的数组中

相关推荐