js之Array數組對象屬性及方法

數組屬性:

length 用法:<數組對象>.length;返回:數組的長度,即數組裏有多少個元素。它等於數組裏最後一個元素的下標加一。

數組方法:

常用方法詳細說明:

數組連接concat()

concat() 方法用於連接兩個或多個數組。此方法返回一個新數組,不改變原來的數組。

語法

arrayObject.concat(array1,array2,...,arrayN)

參數說明:

注意:  該方法不會改變現有的數組,而僅僅會返回被連接數組的一個副本。

我們創建一個數組,將把 concat() 中的參數連接到數組 myarr 中,代碼如下:

<script type="text/javascript">
  var mya = new Array(3);
  mya[0] = "1";
  mya[1] = "2";
  mya[2] = "3";
  document.write(mya.concat(4,5)+"<br>");
  document.write(mya); 
</script>
運行結果:
1,2,3,4,5
1,2,3

我們創建了三個數組,然後使用 concat() 把它們連接起來,代碼如下:
<script type="text/javascript">
  var mya1= new Array("hello!")
  var mya2= new Array("I","love");
  var mya3= new Array("JavaScript","!");
  var mya4=mya1.concat(mya2,mya3);
  document.write(mya4);
</script>

運行結果:
hello!,I,love,JavaScript,!

指定分隔符連接數組元素join()

join()方法用於把數組中的所有元素放入一個字符串。元素是通過指定的分隔符進行分隔的。

語法:

arrayObject.join(分隔符)

參數說明:

注意:返回一個字符串,該字符串把數組中的各個元素串起來,用<分隔符>置於元素與元素之間。這個方法不影響數組原本的內容。 我們使用join()方法,將數組的所有元素放入一個字符串中,代碼如下:
<script type="text/javascript">
  var myarr = new Array(3);
  myarr[0] = "I";
  myarr[1] = "love";
  myarr[2] = "JavaScript";
  document.write(myarr.join());
</script>

運行結果:
I,love,JavaScript

我們將使用分隔符來分隔數組中的元素,代碼如下:
<script type="text/javascript">
  var myarr = new Array(3)
  myarr[0] = "I";
  myarr[1] = "love";
  myarr[2] = "JavaScript";
  document.write(myarr.join("."));
</script>

運行結果:
I.love.JavaScript

顛倒數組元素順序reverse()

reverse() 方法用於顛倒數組中元素的順序。

語法:

arrayObject.reverse()

注意:該方法會改變原來的數組,而不會創建新的數組。

定義數組myarr並賦值,然後顛倒其元素的順序:

<script type="text/javascript">
  var myarr = new Array(3)
  myarr[0] = "1"
  myarr[1] = "2"
  myarr[2] = "3"
  document.write(myarr + "<br />")
  document.write(myarr.reverse())
</script>

運行結果:
1,2,3
3,2,1

demo

<span style="font-size:12px;"><!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Array對象 </title>
<script type="text/javascript">
   var myarr1= ["我","愛","你"];
   document.write((myarr1.reverse()).join("❤"));
</script>
</head>
<body>
</body>
</html></span>
運行結果:

   你❤愛❤我


選定元素slice()

slice() 方法可從已有的數組中返回選定的元素。

語法

arrayObject.slice(start,end)

參數說明:

1.返回一個新的數組,包含從 start 到 end (不包括該元素)的 arrayObject 中的元素。

2. 該方法並不會修改數組,而是返回一個子數組。

注意:

1. 可使用負值從數組的尾部選取元素。

2.如果 end 未被規定,那麼 slice() 方法會選取從 start 到數組結尾的所有元素。

3. String.slice() 與 Array.slice() 相似。

我們將創建一個新數組,然後從其中選取的元素,代碼如下:

<script type="text/javascript">
  var myarr = new Array(1,2,3,4,5,6);
  document.write(myarr + "<br>");
  document.write(myarr.slice(2,4) + "<br>");
  document.write(myarr);
</script>

運行結果:
1,2,3,4,5,6
3,4
1,2,3,4,5,6

數組排序sort()

sort()方法使數組中的元素按照一定的順序排列。

語法:

arrayObject.sort(方法函數)

參數說明:

1.如果不指定<方法函數>,則按unicode碼順序排列。

2.如果指定<方法函數>,則按<方法函數>所指定的排序方法排序。

myArray.sort(sortMethod);

注意: 該函數要比較兩個值,然後返回一個用於說明這兩個值的相對順序的數字。比較函數應該具有兩個參數 a 和 b,其返回值如下: 

  若返回值<=-1,則表示 A 在排序後的序列中出現在 B 之前。
  若返回值>-1 && <1,則表示 A 和 B 具有相同的排序順序。
  若返回值>=1,則表示 A 在排序後的序列中出現在 B 之後。

1.使用sort()將數組進行排序,代碼如下:

<script type="text/javascript">
  var myarr1 = new Array("Hello","John","love","JavaScript"); 
  var myarr2 = new Array("80","16","50","6","100","1");
  document.write(myarr1.sort()+"<br>");
  document.write(myarr2.sort());
</script>

運行結果:
Hello,JavaScript,John,love
1,100,16,50,6,80

注意:上面的代碼沒有按照數值的大小對數字進行排序。

2.如要實現這一點,就必須使用一個排序函數,代碼如下:

<script type="text/javascript">
  function sortNum(a,b) {
  return a - b;
 //升序,如降序,把“a - b”該成“b - a”
}
 var myarr = new Array("80","16","50","6","100","1");
  document.write(myarr + "<br>");
  document.write(myarr.sort(sortNum));
</script>

運行結果:
80,16,50,6,100,1
1,6,16,50,80,100











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