JavaScript數組常用操作

本人第一篇文章,現在要開始養成寫技術博客的習慣,並且保證平均每周至少一篇。對於代碼相關的能測試的一定要進行測試。

1.創建數組
隻是聲明瞭數組,並不包含具體數據。
Java代碼 
var checkboxlist = new array(); 

創建數組並指定長度,這個長度5是可以變的,可以自動增長。
Java代碼 
var checkboxlist = new array(5); 

創建數組,並初始化瞭三個元素。
Java代碼 
var checkboxlist = new array("1111","2222","3333"); 

2.數組操作
2.1 push() 數組末尾添加元素,返回數組最新長度

將字符串"userid001"放入數組末尾
Java代碼 
checkboxlist.push("userid001"); 

一次添加兩個元素,"aaaa"與"bbbb"
Java代碼 
checkboxlist.push("aaaa","bbbb"); 

2.2 unshift() 數組開頭,插入元素,原有元素後移
在數組開頭插入兩個元素。
(有資料說返回值是數組最新長度,不過我在ie6測返回是"undefined")
Java代碼 
checkboxlist.unshift("aaaa","bbbb"); 

2.3 pop() 移出數組末尾的一個元素,並返回該元素。
代碼:
Java代碼 
checkboxlist.pop(); 

2.3 shift() 移出數組開頭的一個元素,並返回該元素
代碼:
Java代碼 
checkboxlist.shift() 

2.4 splice() 插入(替換)或者移除多個元素
移除示例:
splice(delindex,delcount);
delindex:開始移除的位置,也就是數組的下標,從0開始。
delcount:移除元素的個數。
從數組的第一個元素開始,移除2個元素。
Java代碼 
checkboxlist.splice(0,2); 

如:在執行完checkboxlist.splice(1,2)後,數組由原來的4個元素變成瞭隻有"1111","4444"兩個元素。
Java代碼 
var checkboxlist = new array();checkboxlist.push("1111");checkboxlist.push("2222");checkboxlist.push("3333");checkboxlist.push("4444");//從數組的第二個元素開始,移除2個元素。checkboxlist.splice(1,2);alert(checkboxlist); 

插入(替換)示例:
splice(addindex,replacecount,elememt…);
addindex:插入(替換)起始位置,也就是數組的下標,從0開始。
replacecount:需要替換元素的個數。
elememt…:新的元素,可以是一個或者多個。

當replacecount小於等於0時,隻進行添加。
如:在checkboxlist數組的第1個元素("1111")後插入"aaaa","bbbb"兩個元素。
Java代碼 
var checkboxlist = new array("1111","2222","3333","4444","5555");checkboxlist.splice(1,0,"aaaa","bbbb");alert(checkboxlist); 

當replacecount大於0時,會元素會進行替換。
如:將checkboxlist數組的第1個元素("1111")後的一個元素(也就是"2222")替換成"aaaa","bbbb"。下面代碼中的checkboxlist最新值為:"1111","aaaa","bbbb","3333","4444","5555"
Java代碼 
var checkboxlist = new array("1111","2222","3333","4444","5555");checkboxlist.splice(1,1,"aaaa","bbbb");alert(checkboxlist); 

如果replacecount參數的值大於數組的長度,那將會替換掉addindex參數開始的所有元素。執行完後checkboxlist的元素變為:"1111","aaaa","bbbb"
Java代碼 
var checkboxlist = new array("1111","2222","3333","4444","5555");checkboxlist.splice(1,9,"aaaa","bbbb");alert(checkboxlist); 

2.5 reverse() 數組元素順序反轉
Java代碼 
checkboxlist.reverse(); 

2.6 sort() 對數組元素按自然順序排序
Java代碼 
checkboxlist.sort(); 

2.7 concat() 拷貝另一個數組,生成新的數組,並返回
alllist中的元素為checkboxlist與radiolist中的元素的合集
Java代碼 
var checkboxlist = new array("1111","2222");var radiolist = new array("aaaa","bbbb");var alllist = checkboxlist.concat(radiolist); 

2.8 slice() 拷貝指定序號後的元素,生成新的數組,並返回
slice(index)
index:拷貝開始位置,也就是數組的下標,從0開始。
當index大於數組元素個數時,返回空數組

拷貝checkboxlist第一個元素後的所有元素到新的temparray 數組,原checkboxlist不發生變化。
Java代碼 
var checkboxlist = new array("1111","2222","3333");var temparray = checkboxlist.slice(1); 

2.9 join() 字符串操作
join(separator);
separator:添加的分隔符,可以為""空字符串。

可以於高效字符串相加。比直接字符串相加效率高很多。
代碼示例:
Java代碼 
var checkboxlist = new array("1111","2222","3333","4444");var strdata = checkboxlist.join("|");alert(strdata); 

 

2.10 length 屬性
length 返回數組長度,也就是元素個數。
Java代碼 
var checkboxlist = new array("1111","2222","3333","4444");alert(checkboxlist.length); 

作者“技術總結”
 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *