jquery 中json數組的操作(轉)

在jquery中處理JSON數組的情況中遍歷用到的比較多,但是用添加移除這些好像不是太多。

今天試過json[i].remove(),json.remove(i)之後都不行,看網頁的DOM對象中好像JSON數據是以數組的形式出現的,查閱了下相關JS中數組的操作一試果然很爽。

記錄下來。

1、數組的創建

var arrayObj = new Array(); //創建一個數組

var arrayObj = new Array([size]); //創建一個數組並指定長度,注意不是上限,是長度

var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]); 創建一個數組並賦值

    要說明的是,雖然第二種方法創建數組指定了長度,但實際上所有情況下數組都是變長的,也就是說即使指定了長度爲5,仍然可以將元素存儲在規定長度以外的,注意:這時長度會隨之改變。

2、數組的元素的訪問

var testGetArrValue=arrayObj[1]; //獲取數組的元素值

arrayObj[1]= "這是新值"; //給數組元素賦予新的值

3、數組元素的添加——棧方法和隊列方法

arrayObj. push([item1 [item2 [. . . [itemN ]]]]);      // 將一個或多個新元素按從左到右的順序依次添加到數組的尾部,返回更新後的數組長度

arrayObj.unshift([item1 [item2 [. . . [itemN ]]]]);   // 將一個或多個新元素按照從右到左的順序依次添加到數組的首部,數組中的元素自動後移,返回數組新長度

arrayObj.splice(insertPos,0,[item1[, item2[, . . . [,itemN]]]]); //將一個或多個新元素插入到數組的指定位置,插入位置的元素自動後移,返回""

4、數組元素的刪除——棧方法和隊列方法

arrayObj.pop();     //移除最後一個元素並返回尾部元素,更新數組的長度

arrayObj.shift();    //移除最前一個元素並並返回數組首部元素,更新數組的長度

arrayObj.splice(deletePos,deleteCount); //刪除從指定位置deletePos開始的指定數量deleteCount的元素,數組形式返回所移除的元素

5、數組的截取和合並

arrayObj.slice(start, [end]); //以數組的形式返回數組的一部分,注意不包括 end 對應的元素,如果省略 end 將複製 start 之後的所有元素

arrayObj.concat([item1[, item2[, . . . [,itemN]]]]); //將多個數組(也可以是字符串,或者是數組和字符串的混合)連接爲一個數組,返回連接好的新的數組

6、數組的拷貝

arrayObj.slice(0); //返回數組的拷貝數組,注意是一個新的數組,不是指向

arrayObj.concat(); //返回數組的拷貝數組,注意是一個新的數組,不是指向

7、數組元素的排序

arrayObj.reverse();   //反轉元素(最前的排到最後、最後的排到最前),返回數組地址

arrayObj.sort();       //將數組中的元素按ASCII字符(都看作是一個字符串)進行升序排列,返回數組地址

8、數組元素的字符串化

arrayObj.join(separator); //返回字符串,這個字符串將數組的每一個元素值連接在一起,中間用 separator 隔開。

toLocaleString 、toString 、valueOf:可以看作是join的特殊用法,不常用

9、splice()操作方法

  •  (1) 刪除操作:splice(sIndex, len):其中sIndex爲起始位置, len爲截取的數組長度,例如:
 var removed = array.splice(1,3);
 alert(removed);//["red", "orange", "gray"]
 alert(array);//["black", "green"]
     顯然, 有刪除項時,返回由這些刪除項構成的新數組。(原數組保留未刪除的部分)
  •  (2) 插入操作:splice(rIndex, 0 , args...):其中rIndex爲要插入的位置,args爲要替換的元素,例如:
 removed = array.splice(1, 0, "yellow");
 if (0 == removed.length) {
  alert("這是一個空的數組對象");
 }
 alert(array);//["black", "yellow", "green"]
    由上例可見, 無刪除項時,返回一個空對象數組。向數組中插入一個以及多個元素,數組裏面中rIndex位置上及其後面位置上的元素依次向後移動。
  • (3) 替換操作:splice(sIndex, len, args...):首先刪除sIndex位置及其以後的len個元素,然後將args從sIndex位置開始逐個執行插入操作,例如:
 removed = array.splice(1, 2, "orange");
 alert(array);//["black", "orange"]
 alert(removed);//["yellow", "green"]

轉載自:http://www.cnblogs.com/hrh0627/archive/2011/01/07/1930424.html

轉載於:https://www.cnblogs.com/JoannaQ/p/3436685.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章