JS 陣列定義及詳解

2021-09-10 22:26:51 字數 2794 閱讀 2047

1.什麼是陣列:

陣列是值的有序集合。每個值叫做元素,每個元素在陣列中都有數字位置編號,也就是索引。

js中的陣列是弱型別的,陣列中可以含有不同型別的元素。陣列元素甚至可以是物件或其他陣列。

例如:

var arr = [1,true,null,undefined,,[1,2]];

2.陣列定義:
總結了四種方式:

1. var arr = new array() //new 可以省略

2 .var arr = new array(item,item,item...); //定義時即初始化

3. var arr = new array(length) //定義指定長度的陣列

4. var arr = //最常用

補充:var arr1 = [1,,2]; // 1,undefined,2

var arr2 = [,,]; // undefined*2 (第二個逗號右邊部分會被忽略掉,存在相容性問題,不推薦使用)

var arr3 = new array(100); // undefined*100 (表示建立乙個陣列,陣列有100個空元素,長度為100)

3.型別判斷
陣列名  instanceof  array

array.isarray()

.constructor === array

以上四種方法都可用來判斷是否為陣列

返回值 true 表示是陣列

false 表示不是陣列

4.陣列賦值
陣列中每乙個元素都有乙個索引,從0開始

陣列名[索引]=值;

5.陣列取值
陣列名[索引]
6.陣列刪除
1.通過delete刪除

var arr = [1,2,3,4,5];

delete arr[0]; //刪除第乙個元素

console.log(arr[0]); //undefined

注意: 刪除後陣列長度不變,即 length = 5

2.通過length刪除

arr.length -=1;

console.log(arr); //[1,2,3,4]; 元素5被刪除

注意: 刪除後陣列長度變,即 length = 4

7.陣列長度

陣列元素增刪是動態的,所以陣列長度無需指定大小

length from 0 to 4294967295(2^23-1)

例如:var arr8 = new array(4294967295); //

var arr9 = new array(4294967296); //報錯(範圍錯誤) uncaught rangeerror: invalid array length

8.陣列迭代(即遍歷)
1.for

for(var i=0; i9.陣列特點(兩個不限制 )陣列定義時無需指定資料型別 (不限制型別),陣列可以儲存任何資料型別的資料

陣列定義時無需指定陣列長度 (不限制長度)

10.補充
引用型別賦值,傳遞的是位址

基本型別變數賦值,傳遞的是值

1.多維陣列定義:
var arr = [['李四',20],['王五',23],['莉莉',19],['小花',21]]
2.多維陣列賦值
陣列名[索引][索引]=值;

例如:為arr新增乙個學生 『小明』,20歲

arr[4][0]='小明';

arr[4][1]=20;

3.多維陣列取值
陣列名[索引][索引]
4.陣列物件
var arr0 = ;

arr0['張三'] = 20;

arr0['李四'] = 10;

arr0['格式'] = 16;

arr0['王師'] = 19;

console.log(arr0); // array(0) 張三:20,李四:10,格式:16,王師:19

注意: length = 0

補充: for...in 專門為物件陣列設計,可以遍歷陣列物件

for(var i in arr0)

1.概念:稀疏陣列並不含有從0開始的連續索引。一般length屬性值比實際元素個數大。

2.判斷

var arr1 =

[undefined]

;//存在元素,名為undefined

var arr2 =

newarray(1

);//長度為1,但不存在元素

0in arr1;

//true

0in arr2;

//false

var arr3 =[,

,];0

in arr3;

//false

1.共同點:
1.都可以遍歷

2.都有length

3.都可通過索引取值 str[索引] arr[索引]

4.有相似的方法

2.不同點:
1.遍歷:

陣列:for for...in foreach

字串:for

2.字串不能修改,陣列可以修改

3.陣列賦值賦的是位址,字串賦的是值

JS陣列定義及詳解

js陣列定義及詳解 1 什麼是陣列 陣列就是一組資料的集合 其表現形式就是記憶體中的一段連續的記憶體位址 陣列名稱其實就是連續記憶體位址的首位址 2 關於js中的陣列特點 陣列定義時無需指定資料型別 陣列定義時可以無需指定陣列長度 陣列可以儲存任何資料型別的資料 比如說乙個元素儲存整型,乙個元素儲存...

JS陣列定義及詳解

1 什麼是陣列 陣列就是一組資料的集合 其表現形式就是記憶體中的一段連續的記憶體位址 陣列名稱其實就是連續記憶體位址的首位址 2 關於js中的陣列特點 陣列定義時無需指定資料型別 陣列定義時可以無需指定陣列長度 陣列可以儲存任何資料型別的資料 比如說乙個元素儲存整型,乙個元素儲存字串型,這個在js中...

js定義陣列及相關操作

陣列有四種定義的方式 使用建構函式 var a new array var b new array 8 var c new array first second third 或者陣列直接量 var d first second third 屬性 array只有乙個屬性,就是length,length...