jquery 操作字符串、數組、對象常用方法


http://jquery.cuishifeng.cn/

 

1.$.trim(str)  去掉字符串首尾空格。(jQuery.trim())

在jquery中,遍歷對象和數組,經常會用到$().each和$.each(),兩個方法。兩個方法是有區別的,從而這兩個方法在針對不同的操作上,顯示了各自的特點。

2.$().each,對於這個方法,在dom處理上面用的較多。如果頁面有多個input標簽類型為checkbox,對於這時用$().each來處理多個checkbook,例如:

$(“input[name=’ch’]”).each(function(i){
if($(this).attr(‘checked’)==true)
{
//一些操作代碼

}回調函數是可以傳遞參數,i就為遍歷的索引。

對於遍歷一個數組,用$.each()來處理,例如:

$.each([{“name”:”limeng”,”email”:”xfjylimeng”},{“name”:”hehe”,”email”:”xfjylimeng”},function(i,n)
{
alert(“索引:”+i,”對應值為:”+n.name);
});

參數i為遍歷索引值,n為當前的遍歷對象.

var arr1 = [ “one”, “two”, “three”, “four”, “five” ];
$.each(arr1, function(){
alert(this);
});
輸出:one   two  three  four   five
var arr2 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
$.each(arr2, function(i, item){
alert(item[0]);
});
輸出:1   4   7
var obj = { one:1, two:2, three:3, four:4, five:5 };
$.each(obj, function(key, val) {
alert(obj[key]);
});
輸出:1   2  3  4  5

 

http://www.frontopen.com/1394.html

3.$.extend()

第一個用法:用一個或多個其他對象來擴展一個對象,返回被擴展的對象 。jQuery.extend(target,object1,[objectN]):用於將object1、objectN的屬性合並到target對象里,如果target里面有和object1、objectN同名屬性,則object1、objectN的屬性值將覆蓋target的屬性值,如果target不包含object1、objectN里所包含的屬性值,則object1、objectN的屬性值將會新增到target對象里。

第二個用法:jQuery.extend(object);為擴展jQuery類本身.為類添加新的方法。可以理解為添加靜態方法

$.extend({
add:function(a,b){return a+b;},
minus:function(a,b){return a-b},
multiply:function(a,b){return a*b;},
divide:function(a,b){return Math.floor(a/b);}
});
var sum = $.add(3,5)+$.minus(3,5)+$.multiply(3,5)+$.divide(5,7);
console.log(sum); 

4.$.grep()方法是按照某種條件來過濾數組,所以使用 $.grep() 方法可以從數組中過濾出我們想要的結果。

var nums='1,2,3,4,5,jQuery,Css,5'.split(',');split() 方法用於把一個字符串分割成字符串數組。

 

可見數組中有數字和字符串,如果我們想找出其中的字符串,我們可以直接使用 $.grep() 方法來完成這個任務,如下:

nums = $.grep(nums, function (num, index) { // num = 數組元素的當前值  // index = 當前值的下標 return isNaN(num);//isNaN() 函數用於檢查其參數是否是非數字值。 }); console.log(nums); //結果為: ["jQuery", "CSS"]  

 

我們很容易想到 $.map() 方法,$.map() 方法可將一個數組轉換為另一個數組,所以,使用 $.map() 方法也可以完成這個任務,如下:

nums = $.map(nums, function (num, index) { //和$.grep() 的區別 //return isNaN,得到結果為:[true, true] return isNaN(num) ? num : null; }); console.log(nums); // ["jQuery", "CSS"] 
5.$.isArray()
判斷一個對象是不是數組
$.isArray( [ 10, 25, 3 ] ) ; // true
$.isArray( new Array() ) ; // true
$.isArray( null ) ); // false
$.isArray( true ) ); // false
$.isArray( { } ) ; // false
6.$.
inArray()
jquery.inarray(value,array)
確定
value在數組中的位置(如果沒有找到則返回 -1 )。
7.$.
makeArray( object )
Object需要轉換為數組的類數組對象。
一個類數組對象,它至少應該具備length屬性,哪怕其值為 0,它可以沒有"元素"(相當於空數組)。

   如果參數Object沒有length屬性,則它不是類數組對象

   類數組對象是非常常見的,例如我們經常使用的jQuery對象、NodeList對象以及函數內的arguments對象,都是類數組對象。它們都具有length屬性,

   而且通過數字屬性來訪問對應的元素或參數。不過,它們畢竟不是真正的數組對象,因此無法使用數組對象的內置方法。通過jQuery.makeArray()函數,

   我們可以將類數組對象轉換為一個真正的數組對象,從而使用數組對象的內置方法。

var obj = { 0:"CodePlayer", 1: "Hello", 2: 18, 3: true };
obj.length = 4;
// 類數組對象不是真正的數組
w( obj instanceof Array ); // false instanceof 運算符用來測試一個對象在其原型鏈中是否存在一個構造函數的 prototype 屬性。
var arr = $.makeArray( obj );
w( arr instanceof Array ); // true
w( arr.join(" ") ); // CodePlayer Hello 18 true
w( arr.length ); // 4
8.jQuery.unique()函數用於根據元素在文檔中出現的先后順序對DOM元素數組進行排序,並移除重復的元素。
注意:該函數僅作用於DOM元素數組,而不是數字、字符串或其他類型。此外,這里的重復指的是兩個元素實際上是同一個元素(通過全等"==="來判斷),而不是指兩個屬性相同的元素。
9.
jQuery.parseJSON()函數用於將格式完好的JSON字符串轉為與之對應的JavaScript對象。

  所謂"格式完好",就是要求指定的字符串必須符合嚴格的JSON格式,例如:屬性名稱必須加雙引號、字符串值也必須用雙引號。

  如果傳入一個格式不"完好"的JSON字符串將拋出一個JS異常

10.jQuery.parseXML()函數用於將字符串解析為對應的XML文檔。

     該函數將使用瀏覽器內置的解析函數來創建一個有效的XML文檔,該文檔可以傳入jQuery()函數來創建一個典型的jQuery對象,從而對其進行遍歷或其他操作。

  11.$.type(obj)來實現類型判斷

12.jQuery.merge( first, second ) 返回: Array   合並兩個數組內容到第一個數組。

$.merge( [0,1,2], [2,3,4] )
[0,1,2,2,3,4] 

 

 

 
        
 
        
 
        


 

 
        

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM