數(shù)組Array

JS數(shù)組Array

數(shù)組的創(chuàng)建方式(兩種)

使用new關鍵字+Array構造函數(shù)創(chuàng)建數(shù)組(new操作符可以省略)。

var colors = new Array();
var colors = Array();

`

構造函數(shù)傳遞該數(shù)量,而該數(shù)量會自動成為length屬性的值。

var colors = new Array(20);  
console.log(colors.length);//創(chuàng)建了一個長度為20,內(nèi)容為空的數(shù)組    

數(shù)組字面量由一對包含數(shù)組項的方括號表示("[]"),多個數(shù)組項之間以逗號隔開。在讀取和設置數(shù)組的值時,要使用方括號并提供相應的基于0的數(shù)字索引(位置)。

var colors = ["red","blue","green"]; //定義了一個長度為3的字符串數(shù)組
  console.log(colors.length);     //3 
  console.log(colors[0]);    //顯示第一項 "red"
  colors[2] = "black";      //修改第三項
  colors[3] = "brown";     //新增第四項
  var colors = [];         //創(chuàng)建一個空數(shù)組
  console.log(colors.length);     //0

數(shù)組的length屬性
數(shù)組的length屬性的特點:不是只讀的。也就是說通過設置這個屬性,可以從數(shù)組的末尾移除或向數(shù)組中添加新項

var colors = ["red","blue","green"]; //定義了一個長度為3的字符串數(shù)組
    colors.length = 2;        //設置數(shù)組長度為2
    console.log(colors[2]);   //undefined 
var colors = ["red","blue","green"]; //定義了一個長度為3的字符串數(shù)組
    colors[colors.length] = "black";     //(在位置3)添加一種顏色
    colors[colors.length] = "brown";     //(在位置4)添加一種顏色

`

檢測數(shù)組

1.使用instanceof操作符
var a = [1]
        console.log((a)instanceof Array)    //true
}
2.Array.isArray()方法
var a = [1]
console.log(Array.isArray(a))   //true
}        
屬性:打印出true(真) \ false(假)

`

轉(zhuǎn)換方法

所有對象都具有toLocaleString()、toString和valueof()方法。

1·toString()方法返回由數(shù)組中每個值的字符串形式拼接而成的一個以逗號分隔的字符串;

var arr = [21, 5, 67, 77, 33];
console.log(arr.toString());  //21,5, 67, 77, 33

2·valueOf()返回的還是數(shù)組;

var arr = [21, 5, 67, 77, 33];
console.log(arr.toString());   // [21, 5, 67, 77, 33]

3·toLocaleString()方法也經(jīng)常返回與toString和valueof()方法相同的值,

join(分隔符)數(shù)組轉(zhuǎn)字符串
var arr = [21,5,67,77,33];
console.log(arr.join(''));   //215677733

·

棧方法 (后進先出)
push()

接收任意數(shù)量的參數(shù),把它們逐個添加到數(shù)組末尾,并返回修改后數(shù)組的長度。

var arr= [1,2,3,4,5,6,7,8]
        console.log(arr.push(1));   //   9    返回修改后的長度
        console.log(arr);   //   [1, 2, 3, 4, 5, 6, 7, 8, 1] 
pop

從數(shù)組的末尾移除最后一項,減少數(shù)組的length值,然后返回被移除的項。

var arr= [1,2,3,4,5,6,7,8]
        console.log(arr.pop());     //  8   返回移除的值
        console.log(arr);   //   [1,2,3,4,5,6,7]  移除最后一項

·

隊列方法 (先進先出)
unshift()方法

在數(shù)組的前端添加任意個項并返回新數(shù)組的長度

var arr= [1,2,3,4,5,6,7,8]    
        console.log(arr.unshift(2)); // 9  返回新數(shù)組的長度
        console.log(arr);   // [2,1,2,3,4,5,6,7,8]  
shift()方法:

從數(shù)組的前端移除第一項(也就是位置索引值為0),減少數(shù)組的length值,

var arr= [1,2,3,4,5,6,7,8]
        console.log(arr.shift());    //   1   把第一項移除
        console.log(arr);    //  [2,3,4,5,6,7,8]

·

重排序方法

reverse()方法: (反轉(zhuǎn)數(shù)組項的順序)
var arr= [1,2,3,4,5,6,7,8]
        console.log(arr.reverse());    //  [8, 7, 6, 5, 4, 3, 2, 1]
sort()方法: 排序

sort()方法可以接收一個比較函數(shù)最為參數(shù),以便指定哪個值位于前面。

var arr= [1,2,3,4,5,6,7,8]
    arr.sort(function(a,b){
       return b-a    //return a-b;  //升序   return b-a;  //降序
})
      console.log(arr)

reverse()和sort()方法的返回值都是經(jīng)過排序后的數(shù)組(改變原數(shù)組)。
·

操作方法

ECMAScript為操作已經(jīng)包含在數(shù)組中的元素提供了很多方法:

·concat()方法可以基于當前數(shù)組創(chuàng)建一個新數(shù)組。
· slice()方法可以基于當前數(shù)組獲取指定區(qū)域元素并創(chuàng)建一個新數(shù)組。
·splice()主要用途是向數(shù)組的中部插入元素,使用方式有3種。

concat() 方法

用于連接兩個或多個數(shù)組

var arr1 = [1, 2];
        var arr2 = [3, 4];
        var arr4 = [5, 6];
        var arr3 = arr1.concat(arr2,arr4);  //逗號隔開
        console.log(arr3)
slice()方法

可提取字符串或者數(shù)組的某個部分,并以新的字符串或數(shù)組返回被提取的部分。

var arr= [1,2,3,4,5,6,7,8]
        var brr= arr.slice(1)
        console.log(brr)  // [2, 3, 4, 5, 6, 7, 8]
        console.log(arr)  // [1, 2, 3, 4, 5, 6, 7, 8]
var arr= [1,2,3,4,5,6,7,8]
        var brr= arr.slice(1,4)
        console.log(brr)  //  [ 2, 3, 4]
        console.log(arr)  //   [1, 2, 3, 4, 5, 6, 7, 8]
splice()方法

用于插入、刪除或替換數(shù)組的元素

splice中的刪除功能:返回被刪除數(shù)組元素
var arr = [1, 2, 3, 4, 5, 6, 7, 8]
        console.log(arr.splice(3,2,1))    // [4, 5] (3)下標  (2)移除個數(shù) (1)添加
        console.log(arr)     //   [1, 2, 3, 1, 6, 7, 8]

位置方法

首次出現(xiàn)位置

indexOf()

返回某個指定的字符串值或者某個數(shù)組元素值在字符串或者數(shù)組中首次出現(xiàn)的位置

var arr = [1, 2, 3, 4, 5, 6, 7, 8]
        console.log(arr.indexOf(3,1))    //    2
        console.log(arr)

lastIndexOf()

返回一個指定的字符串值最后出現(xiàn)的位置,在一個字符串中的指定位置從后向前搜索

var arr = [1, 2, 3, 4, 5, 6, 7, 8]
        console.log(arr.lastIndexOf(2,5))    //   1
        console.log(arr)
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容