卧斋 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一个新的数组中