參考文件
collection
map 類似array.map 但是返回的是物件
filter 返回陣列,對於nodelist 返回的是document 節點
every 返回boolean 迭代的列表每個都是true才會返回 true
some 返回boolean 迭代的列表有乙個為true 就返回true
min 返回最小值 如果是物件的話 第二個引數可以屬性名,只是比較這個屬性
max 返回最大值 類似min
groupby(list, iteratee) eg:
_.groupby([1.3, 2.1, 2.4], function(num));
=>
shuffle 打亂乙個集合
sample(list,[n]) 隨機返回n個元素
array
first(list,[n]) 獲取陣列的第乙個元素,可選引數n 表示返回陣列的前n個元素
last(list, [n]) 獲取陣列的最後乙個元素, 可選引數n表示返回陣列的最後n個元素
flatten(list, [shallow]) 將多維陣列轉成一維陣列 , shallow=true 只是減少乙個維度
zip(*array) 將多維陣列對應的index合併到一起
unzip(array) 和zip相反
object(list ,[values]) 將陣列轉成物件(和zip相比, 將第乙個陣列的value轉成了物件的index) 倆種用法 a. [index, value] 轉成 b. [a,,b], [c,d]
range([start],stop, [step]) 根據範圍建立陣列,包含指定的元素 類似與php 區別在於 a. underscore不支援 _.range("a","c") b. underscore 不包含stop php 包含
function
bind(function, object) 乙個變數fn如果執行了乙個物件s的方法時 會丟失對this的引用 fn()這樣呼叫是不行的 bind的第二個引數 可以繫結this為物件s
(當然變數繫結的是不是物件的方法的時候, 是可以fn())
partial(function, *arguments) 乙個函式多個引數的話 可以使用這個方法固定常用的引數 引數的佔位符是'_' eg:var pown3 = _.partial(math.pow, _, 3); // x^3
memoize(function) 快取函式的計算資訊,當引數不同的時候 會重新呼叫
once(function) 某個函式無論如何都是只是呼叫一次
delay(function, waittime, *arguments) 延遲執行乙個函式
object
keys(object) 獲取物件屬性名稱, 返回陣列
allkeys(object) 除了返回自身的key 也返回繼承的key
values(object) 返回陣列,包含所有自身的values 不存在函式allvalues
mapobecjt (object,iteratee) 返回陣列, 迭代物件的每個元素
invert(object) 物件反轉 (key和value交換)
extend(destination, *source) 將多個物件合併,屬性相同,後面的優先順序大
extendown(destination, *source) 只是合併本身的屬性
clone(object) 返回淺層copy的物件 兩者屬性指向同一位址空間,(string number null undefine boolean 屬於不可以修改的資料型別, 只會被賦值) 在屬性被修改的
兩者都會變化
isequal(object,other) 深層比較兩個物件是不是相等
var stooge = ;var clone = ;
stooge == clone;
=> false
_.isequal(stooge, clone);
=> true
underscore的簡單了解
1.underscore 乙個封裝好的js工具庫,它提供了一整套函式式程式設計的使用功能,但是沒有擴充套件任何js內建物件。它解決了這個問題 如果我面對乙個空白的html,並希望立即開始工作,我需要什麼?2.zip var require underscore 演示 var names 張三 李四 ...
underscore的bind和bindAll方法
bind方法和bindall方法都是用來設定函式的this值的,區別是呼叫方式不同。var xiaoming bind var func bind xiaoming,xiaoming.say func i am xiaoming bindall bindall xiaoming,say var fu...
underscore中的map怎麼實現
這裡具體講講map內部結構。map function obj,iteratee,context return result 返回新的陣列 函式中呼叫cb函式 var cb function iteratee,context,count if isfunction iteratee cb的作用 判斷i...