1 數組和對象操作 1、jQuery.extend([deep,] target, object1, [objectN]) 用一個或多個其他對象來擴展一個對象,返回被擴展的對象。 如果不指定target,則給jQuery命名空間本身進行擴展。這有助於插件作者為jQuery增加新方法。如果第一個參數設 ...
1 數組和對象操作
1、jQuery.extend([deep,] target, object1, [objectN])
用一個或多個其他對象來擴展一個對象,返回被擴展的對象。
如果不指定target,則給jQuery命名空間本身進行擴展。這有助於插件作者為jQuery增加新方法。如果第一個參數設置為true,則jQuery返回一個深層次的副本,遞歸地複製找到的任何對象。否則的話,副本會與原對像共用結構。為定義的屬性將不會被覆制,然而從對象的原型繼續的屬性將會被覆制。
參數:
(1) deep:如果設置為true,則遞歸合併。
(2) target:被擴展的對象。
(3) object1:待合併到target對象的對象。
(4) objectN:待合併到target對象的對象。
// 合併 settings 和 options var settings = { validate: false, limit: 5, name: "foo" }; var options = { validate: true, name: "bar" }; jQuery.extend(settings, options); // settings == { validate: true, limit: 5, name: "bar" }
2、jQuery.grep(array, callback, [invert])
使用過濾函數來過濾數組元素。過濾函數callback必須返回true以保留元素,返回false將刪除元素。
參數:
(1) array:待過濾的數組。
(2) callback:function(n, i){....} ,第一個參數為當前元素,第二個參為索引。過濾函數callback必須返回true以保留元素,返回false將刪除元素。
(3) invert:如果invert設置為false,則函數返回數組中由過濾函數返回true的元素,如果設置為true,則返回false的元素。
3、jQuery.map(arr, callback)
將一個數組中的元素轉換到另一個數組中。作為參數的轉換函數會為每個數組元素調用,而且會給這個轉換函數傳遞一個表示被轉換的元素作為參數。轉換函數可以返迴轉換後的值、null(刪除數組中的項目)或一個包含值的數組,並擴展至原始數組中。
參數:
(1) array, callback:
array:帶轉換數組。
callback:function(n){....},n為當前元素。
// 原數組中每個元素擴展為一個包含其本身和其值加 1 的數組,並轉換為一個新數組。 $.map( [0,1,2], function(n){ return [ n, n + 1 ]; }); // [0, 1, 1, 2, 2, 3]
4、jQuery.inArray(value, array, [fromIndex])
確定第一個參數在數組中的位置,從 0 開始計數(如果沒找到則返回 -1)。
參數:
(1) value:用於在數組中查找的值。
(2) array:待查找的數組。
(3) fromIndex:用來搜索數組隊列的起始索引,預設為 0 。
5、jQuery.merge(first, second)
合併兩個數組。返回結果會修改第一個數組的內容——第一個數組的元素後面跟著第二個數組的元素。
6、jQuery.unique(array)
刪除數組中重覆元素。值處理刪除 DOM 元素數組,而不能處理字元串或數字數組。
7、jQuery.parseJSON(json)
接受一個 JSON 字元串,返回解析後的對象。