您好,登錄后才能下訂單哦!
前言
Underscore 是一個JavaScript實(shí)用庫,提供了類似Prototype.js (或 Ruby)的一些功能,但是沒有擴(kuò)展任何JavaScript內(nèi)置對象。它彌補(bǔ)了部分jQuery沒有實(shí)現(xiàn)的功能,同時又是Backbone.js必不可少的部分。
更詳細(xì)的解釋請參看http://www.css88.com/doc/underscore/
正文
下面只介紹一下在party_bid中用到的幾種函數(shù)
_.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的用法:遍歷列表中的每一個元素,相當(dāng)于一個for循環(huán)
示例
var lists = [1, 2, 3, 4, 5, 6, 7, 8]; _.each(lists, function (list) { return alert(list); }); // 結(jié)果是從1到8依次警告
_.map的用法:遍歷列表進(jìn)行相應(yīng)操作,修改并返回原列表的值
示例
var fruits = [{name: 'apple', price: 2}, {name: 'banana', price: 6} ]; _.map(fruits, function (fruit) { if (fruit.name == 'apple') { fruit.price = 4; } return fruit; }); //fruits的值變?yōu)閇{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的用法:對同一列表進(jìn)行不同操作時用,按序執(zhí)行直到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]
總結(jié)
第一次接觸underscore,挺好用,大大減少代碼量,還在學(xué)習(xí)中,望多多指正。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。