javascript 中Array類型 (數組)


今天來了解一下js中的復雜數據類型中引用類型的Array類型,也就是我們常說的數組。

一、數組的創建。

數組的創建有兩種方式。

1. 使用Array構造函數創建。 

  例如 :   var num = new Array('rde','blue','gold') ;             //  這樣表示創建了一個數組 ,里面有三個項目,中間用逗號隔開。

  如果提前知道要傳入的項目數量,可以傳入需要數量項目的值。

  例如: var num = new Array(20);                 // 表示創建了一個保存20個項目的數組。

 

函數內項目數量用length表示:如下所示

var num = new Array(20);
alert(num.length);      //20 表示該數組長度為20 里面有20個項目。
 

另外的話使用Array構造函數時可以省略new 操作符 :如下

var num =new Array('rde','blue','gold');
var num = Array('rde','blue','gold');
 
這兩種方式結果都是一樣的。

 

 

2.使用字面量的方式創建。    例如:     var num = ['red','blue','gold'];      //該表示用字面量的方式創建了一個數組 num 里面保存了三個項目 分別是 red、blue、gold 。

 

創建一個空的數組       var num = [];             //表示的是一個空數組。

在我們的數組中length 屬性是比較有特點的可以通過length來控制數組內項目。

var  num = ['rde','blue','gold'];
num.length=2;
alert(num);

開始長度為3 ,后面賦值給長度為2.

結果第三個元素被排除了。

 

二 、各類官方數組方法的使用。

1. push()   此方法可以在數組的尾部添加任意數量的參數 修改后返回的是數組修改后的長度        注意:返回的是長度 並不是修改后的數組。

如下代碼:

var  num = ['rde','blue','gold'];
var num2 =num.push("one","two")
alert(num2);       //5

  

2.pop()  刪除數組末尾的數元素並且返回出來 

例如下代碼

var  num = ['rde','blue','gold'];
var num2 =num.push("one","two");
var num3 =num.pop();
alert(num3);       //two
alert(num); // rde,blue,gold,one

3. unshift()   在數組前端添加任意數組並返回新的長度。

如下:

var  num = ['rde','blue','gold'];
var num2 =num.unshift("one","two");

alert(num2);  //5
alert(num); //    one,two,rde,blue,gold

  在數組的前端加入了 兩個新的元素 , 返回了新的長度5.

4.    reverse()

如下代碼:

var  num = [1,2,3,4,5,6,7,8,9];
num.reverse();
alert(num); //  9,8,7,6,5,4,3,2,1

  該方法會是數組中的元素進行反轉排序。

var  num = ['one','two','three','four'];
num.reverse();
alert(num); //  four,three,two,one

  

5. sort () 方法  

var  num = [1,3,2,6,5,4,9,8];
num.sort();
alert(num);  //1,2,3,4,5,6,8,9

  可以將無序的數組排成有序。

如果想要按照數組大小排序的話可以如下做法:

var  num = [1,36,2,6,21,41,9,8];
function s(a,b){
    return a-b;     
    
}
num.sort(s);
alert(num);  //1,2,6,8,9,21,36,41

  

只需要sort()方法內調用一個函數 。

 

6.slice() 此方法 基於原數組創建一個新數組  接受一個或者兩個參數 第一個參數為要返回的起始位置和結束位置。

var  num = [1,2,3,4,5,6,7,8,9];        //定義了九個參數。
var num2 = num.slice(3);            //  設置一個參數的情況          由於返回值是一個新的數組 所以要定義一個新的變量去接收。
alert(num); //1,2,3,4,5,6,7,8,9 
alert(num2); //4,5,6,7,8,9       從第三個下標開始截取數組中的參數。

  再來觀察一下兩個參數的情況。

var  num = [1,2,3,4,5,6,7,8,9];        //定義了九個參數。
var num2 = num.slice(3,6);            // 由於返回值是一個新的數組 所以要定義一個新的變量去接收。
alert(num); //1,2,3,4,5,6,7,8,9 
alert(num2); //4,5,6   從下標3開始截取 截取到下標6  注意  第二個下標是不包含的 實際截取為6-1;

  

7.splice()  此方法可以稱得上書數組當中最強大的方法了。

使用的方式有3種。 1.刪除 2.插入 3.替換。

  7.1 刪除 

     splice() 可以刪除任意數量的元素。   需要指定2個參數   第一個參數是要刪除的第一項位置 和要刪除的個數。

  例如:

var num = [1,2,3,4,5,6,7,8,9];   //定義九個元素

num.splice(3,2);    //從下標3開始刪除  刪除2個元素
alert(num);// 1,2,3,6,7,8,9

  7.2 插入

  splice()  可以向指定位置插入任意個數的元素    需要三個參數  第一個參數指定位置開始插入,第二個參數 需要刪除的個數(這里我們寫0)也就是不刪除任何一個 ,第三個值是需要插入的參數。

例如:

var num = [1,2,3,4,5,6,7,8,9];   //定義九個元素

num.splice(3,0,"一",'one');    // 從下標3開始插入  不刪除任何一個  插入新的參數為 一 和 one
alert(num);// 1,2,3,一,none,4,5,6,7,8,9

  

7.3 替換

  splice() 可以想指定位置插入你需要替換的參數 ,同時刪除你不需要的參數。 

例如:

var num = [1,2,3,4,5,6,7,8,9];   //定義九個元素

num.splice(3,3,'40','50','60');    // 從下標為3的位置刪除3個元素插入3個元素替換原來的元素 。這里可以是替換多個參數。
alert(num);//1,2,3,40,50,60,7,8,9

  

8. indexOf() 位置方法。

 在數組中查找你想要查找的元素,如果有當前元素 則返回該元素所在的下標  如果沒有則返回-1

例如:

var num = [1,2,3,4,5,6,7,8,9];   //定義九個元素

var num2=num.indexOf(5);  //在該數組中查找5這個元素  並返回該元素的下標 
alert(num);// 1,2,3,4,5,6,7,8,9
alert(num2);// 該元素的下標為 4

  

如果查找不到該元素 則返回-1.

例如:

var num = [1,2,3,4,5,6,7,8,9];   //定義九個元素

var num2=num.indexOf(100);  //在該數組中查找100這個元素  改數組沒有該元素返回-1
alert(num);// 1,2,3,4,5,6,7,8,9
alert(num2);// 沒有改元素 返回  -1

如果設置了兩值。 第一個值為需要查找的元素  第二個值為查找該元素從下標幾開始查找第一個相同的元素。

例如:

 

var num = [1,2,3,4,5,6,7,8,9,5,7,1,2,4,5];  // 該元素中有3個 5這個元素。

var num2=num.indexOf(5,5);  // 查找5這個元素從下標為5開始查找第一個元素5
alert(num);// 
alert(num2);// 9   返回的是查找到的該元素的下標

9.lastIndexOf()  cho  從名字中可以看出是和indexOf相反的操作。

var num = [1,2,3,9,5,6,7,8,9,5,7,1,2,4,5];  // 該元素中有2個 9這個元素。

var num2=num.lastIndexOf(9,8);  //查找9 這個元素  從下標0到下標8中找到最后一個下標為9的元素。
alert(num);// 
alert(num2);//  8 

  

 如果第二個值不寫就是在整個數組中找到最后的元素的下標。如果沒有該元素則返回-1.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM