Javascript運算元組詳解

來源:互聯網
上載者:User
Javascript自身提供了一些操作,可以對數組實現一定的處理,例如排序、串連、堆棧等等,下面做一下簡單的介紹。 

1,concat(arrayName2, arrayName3, …, arrayNameN) ,將數組本身和另外一個或多個數組進行串連,例如: 
var arr1=["a","c"]; 
var arr2=["b","d"]; 
var arr22=["e","f"]; 
var arr3=arr1.concat(arr2,arr22); 
document.write(arr3);//結果顯示為:a,c,b,d,e,f 

2,join(separator),通過間隔符將數字串連為字串,例如: 
var arr1=["a","b","c","d","e"]; 
var arr1Str=arr1.join("-"); 
document.write(arr1Str);//結果顯示為:a-b-c-d-e 

3,pop()/push(element1, …, elementN) ,實現了堆棧的操作,push是入棧,pop是出棧,例如: 
var arr1=["a","b"]; 
arr1.push("c","d"); 
document.write(arr1);//結果為:a,b,c,d 
var value=arr1.pop(); 
document.write(value);//結果為:d 

4,reverse() ,將數組反向排序,例如: 
var arr1=["a","b","c"]; 
arr1.reverse(); 
document.write(arr1);//結果為:c,b,a 

5,sort(compareFunction),按照指定的定序進行排序,如果參數為空白,則按照預設的字母和數字進行排序,例如: 
function mySort(o1,o2){ 
if(o1.length>o2){ 
return 1; 

return -1; 

var arr1=["a","c","bd"]; 
arr1.sort(); 
document.write(arr1);//結果為:a,bd,c 
arr1.sort(mySort); 
document.write(arr1);//結果為:bd,c,a 

6,shift() /unshift,將數組的第一個值取出(或者將值插入到數組第一個位置),並且數組長度縮短(加長),例如: 
var arr1=["a","b","c"]; 
var value=arr1.shift(); 
document.write(value);//輸出為:a 
document.write(arr1);//輸出為:b,c 
var value2=arr1.unshift("g"); 
document.write(value);//IE輸出為undefined,Firefox輸出為3 
document.write(arr1);//輸出為:g,b,c 

7,slice(begin[,end]) ,類似字串的substring方法,就是截取數組,例如: 
var arr1=["a","b","c"]; 
var arr2=arr1.slice(0,2); 
document.write(arr2);//輸出為:a,b 

8,splice(index, howMany, [element1][, …, elementN]) ,從指定的位置(index)開始,刪除後面多個(howMany)數組的值,並從刪除處開始依次插入新的值,例如: 
var arr1=["a","b","c"]; 
arr1.splice(1,1,"m","n","o"); 
document.write(arr1);//輸出為:a,m,n,o,c 

應該說,Javascript本身對數組提供的操作能力,還是不錯的,但是在實際應用中,我們需要對數組做更多的操作,例如Java、PHP、.NET中對數組都提供了強大的操作能力,而且許多優秀的開源項目中,也提供了對數組的許多操作,但是Javascript這方面還需要進一步加強。 

為了對數組提供更多的操作,JsJava定義了許多類,來加強對數組的操作,介紹如下: 

1,jsjava.util.Arrays類,仿照Java的Arrays類,對數組提供了一些高效的操作,例如: 
var list=Arrays.asList(["a","b","c"]);//通過數組建立一個不可變的列表 
而且通過binarySearch,提供了二分法搜尋的一個實現,其它的請參考JsJavaDoc 

2,jsorg.apache.commons.lang.ArrayUtils類,該類的實現是參考Apache優秀的commons-lang開源項目實現的,實現其中的所有功能,例如對數組進行插入、刪除、搜尋、填充、截取等等,例如: 
var arr=ArrayUtils.clone([0,1,2,9,0]); 
document.write(arr+"<br>"); 
document.write(ArrayUtils.subarray(arr,0,3)+"<br>"); 
arr.reverse(); 
document.write(arr); 
顯示結果為: 
0,1,2,9,0 
0,1,2 
0,9,2,1,0 

3,jsorg.eob.lang.MultiDimensionArrayUtils類,該類實現了對多維陣列的建立支援,例如可以方便建立二維和三維數組,具體可以參考文章《在Javascript之中如何建立多維陣列》 

4,org.apache.commons.math.linear.RealMatrixImpl類,實現對矩陣的操作,矩陣實際上就是多維陣列,即實現了對多維陣列的支援,例如可以實現多維陣列的加、減、乘、除等操作,還有數學運算中對矩陣的其它操作,具體可以參考JsJavaDoc。 

JsJava是對Javascript語言最好的擴充和延伸,它與目前流行的prototype.js的方向是不一樣的,如果你正在構建web應用,那麼JsJava將是你介面應用最好的支撐。 

原文地址:http://www.corange.cn/archives/2008/12/2963.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.