在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爲截取的數組長度,例如:
alert(removed);//["red", "orange", "gray"]
alert(array);//["black", "green"]
- (2) 插入操作:splice(rIndex, 0 , args...):其中rIndex爲要插入的位置,args爲要替換的元素,例如:
if (0 == removed.length) {
alert("這是一個空的數組對象");
}
alert(array);//["black", "yellow", "green"]
- (3) 替換操作:splice(sIndex, len, args...):首先刪除sIndex位置及其以後的len個元素,然後將args從sIndex位置開始逐個執行插入操作,例如:
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