您好,登錄后才能下訂單哦!
前言
Underscore 是一個JavaScript實用庫,提供了類似Prototype.js (或 Ruby)的一些功能,但是沒有擴展任何JavaScript內置對象。它彌補了部分jQuery沒有實現的功能,同時又是Backbone.js必不可少的部分。
更詳細的解釋請參看http://www.css88.com/doc/underscore/
正文
下面只介紹一下在party_bid中用到的幾種函數
_.find的用法:遍歷列表,返回第一個符合條件的值
示例
var lists = [1, 2, 3, 4, 5, 6, 7, 8]; var b = _.find(lists, function (list) { return list % 2 == 0; }); //b的值為2
_. filter的用法:顧明思意,過濾列表中所有符合條件的值,并返回一個新列表
示例
var lists = [1, 2, 3, 4, 5, 6, 7, 8]; var b = _.filter(lists, function (list) { return list % 2 == 0; }); //b的值為[2,4,6,8]
_.each的用法:遍歷列表中的每一個元素,相當于一個for循環
示例
var lists = [1, 2, 3, 4, 5, 6, 7, 8]; _.each(lists, function (list) { return alert(list); }); // 結果是從1到8依次警告
_.map的用法:遍歷列表進行相應操作,修改并返回原列表的值
示例
var fruits = [{name: 'apple', price: 2}, {name: 'banana', price: 6} ]; _.map(fruits, function (fruit) { if (fruit.name == 'apple') { fruit.price = 4; } return fruit; }); //fruits的值變為[{name:apple,price:4},{name:banana,price:6}]
_.sortBy的用法:按某種元素排序,返回按序排好的新列表,不改變原列表的值
示例
var fruits = [{name: 'apple', price: 2},{name: 'banana', price: 6}, {name: 'oringe', price: 1}]; var new_lists = _.sortBy(fruits, function (fruit) { return fruit.price; }); /*new_lists = [{name: 'oringe', price: 1}, {name: 'apple', price: 2},{name: 'banana', price: 6 }] ,fruits不變*/
_.chain的用法:對同一列表進行不同操作時用,按序執行直到value
示例
var lists = [3, 5, 1, 7, 4, 6, 2]; _.chain(lists) .filter(function(list){return list%2!=0;}) .sortBy(function(list){return list;}) .value() //=>[1,3,5,7]
總結
第一次接觸underscore,挺好用,大大減少代碼量,還在學習中,望多多指正。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。