JS數組-第一腳,JS數組-第

來源:互聯網
上載者:User

JS數組-第一腳,JS數組-第

數組定義:

var arr = [12,5,8,9];var arr = new Array(12,5,8,9);

數組的length屬性:

1. length即可以擷取數組的長度,又可以設定數組的長度

2. 和其他語言不同的是js的數組的長度是動態改變的,js數組中可以存放任意類型資料,但是最好只存放一種類型的資料

 

1. 方法push( )向數組中追加元素,返回值為新數組的長度。

<script>    var arr = [12,5,8,9];    var res = arr.push(3);    alert(res); // 傳回值為數組的長度5</script>

2. 方法pop()從數組的尾部移除一個元素,返回值為移除的元素
<script>    var arr = [12,5,8,9];    var res = arr.pop();    alert(res); // 傳回值為移除的元素9</script>
3. 方法shift()從數組的頭部移除一個元素,返回值為移除的元素

<script>    var arr = [12,5,8,9];    var res = arr.shift();    alert(res); // 傳回值為移除的元素12</script>

4. 方法unshift()從數組頭部插入元素,返回值為新數組的長度

<script>    var arr = [12,5,8,9];    var res = arr.unshift(3);    alert(res); // 返回數組的長度5</script>

5. 方法slice()用來截取數組的,返回值為截取的值(左閉右開區間)

<script>    var arr = [12,5,8,9];    //arr.slice(1,3)的意思是:截取下標 (大於等於1,小於3)的值    var res = arr.slice(1,3);    alert(res); // 傳回值為5,8    alert(arr); // 返回12,5,8,9 可見slice方法不運算元組本身</script>


6. 方法splice()用於向數組中添加元素,也用於從數組中刪除元素;返回值為被刪除的元素

var arr = [12,5,8,9];var res = arr.splice(1,3);// 從下標為1的值開始,刪除3個元素alert(res); // 傳回值為刪除的元素:5,8,9alert(arr); // 返回12 可見splice方法會運算元組本身

var arr = [12,5,8,9];var res = arr.splice(1,3,44,55);// 從下標為1的值開始,刪除3個元素,然後在添加2個元素,44,55alert(res); // 傳回值為刪除的元素:5,8,9alert(arr); // 返回12,44,55 

var arr = [12,5,8,9];var res = arr.splice(1,0,44,55);// 從下標為1的值開始,刪除0個元素(不刪除元素),然後在從下標為1的位置添加2個元素,44,55alert(res); // 傳回值為刪除的元素:為空白alert(arr); // 返回12,44,55,8,9

7. 方法concat()用於串連兩個或多個數組,返回值為新數組
var arr1 = [12,5,8,9];var arr2 = [33,44];var res = arr1.concat(arr2);alert(res); // 12,5,8,9,33,44
串連多個數組

 

var arr1 = [12,5,8,9];var arr2 = [33,44];var arr3 =['A','B'];var res = arr1.concat(arr2,arr3);alert(res); // 列印出12,5,8,9,33,44,A,Balert(arr1);// 列印12,5,8,9 ,可見concat方法不運算元組本身alert(arr3);// 列印 A,B


8. 方法join(分隔字元):用分隔字元來串連數組中的每個元素,返回串連後結果(字串形式)  

var arr1 = [12,5,8,9];var res = arr1.join('*');alert(res); // 12*5*8*9alert(arr1);// 列印12,5,8,9,可見join方法也不運算元組本身

補充:

//js中字串有個split的用法:用來將字串分割為數組    var str='12*5*8*9';    var res = str.split('*');//用字元*來分割     alert(res);

9. 方法sort()對數組元素進行正序排序(從小到大),預設是按ASCII字母表的大小順序進行排序(注意:對數字進行排序的時候並不是按照數位大小進行排序的)
var arr = [12,5,8,9,10,1];var res = arr.sort(arr);alert(res); //列印結果1,10,12,5,8,9,並不是我們想象的1,5,8,9,10,12alert(arr);// 列印1,10,12,5,8,9 ,可見sort方法運算元組本身
為了清楚理解 sort的排序原理

var arr = [12,5,'a',8,'A','D',9,10,1,'c'];var res = arr.sort(arr);alert(res); //1,10,12,5,8,9,A,D,a,c

ASCII 表 大小順序

1)數字0~9比字母要小。如"7"<"F";

2)數字0比數字9要小,並按0到9順序遞增。如"3"<"8"

3)字母A比字母Z要小,並按A到Z順序遞增。如"A"<"Z","a"<"z"

4)大寫字母比小寫字母要小。如"A"<"a","D"<"a"。 

如果想通過sort實現對數字進行大小的比較,我們需要自訂一個“比較函數”作為參數傳給sort。例如

function compare(n1,n2){ // 自訂比較的函數        if(n1<n2){            return -1;        }        else if(n1>n2){            return 1;        }        else{            return 0;        }}var arr = [12,5,8,9,10,1];var res = arr.sort(compare);//通過自訂的函數對 數字進行正序排序alert(res); // 列印 1,5,8,9,10,12

// 簡單的寫法       function compare(n1,n2){        return n1 -n2;// 從小到大排序    }    var arr = [12,5,8,9,10,1];    var res = arr.sort(compare);//通過自訂的函數對 數字進行正序排序    alert(res); // 列印 1,5,8,9,10,12

如果要實現 從大到小排序,只需要return n2-n1

function compare(n1,n2){        return n2-n1;//從大到小排列}

10. 方法revers用來對數組進行倒敘排序(排序的原則是顛倒數組元素的位置),簡單來說就是把數組裡的元素翻個個。

var arr = [12,5,8,9,10,2];var res = arr.reverse();alert(res); //列印2.10,9,8,5,12alert(arr);//列印2.10,9,8,5,12 可見reverse方法運算元組本身
//字串    var arr = ['Zhangsan','Lisi','Wangwu','Zhaoliu'];    var res = arr.reverse();    alert(res); //列印 Zhaoliu.Wangwu,Lisi,Zhangsan


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.