首頁  >  文章  >  web前端  >  JavaScript中關於陣列定義的幾種方法分享

JavaScript中關於陣列定義的幾種方法分享

黄舟
黄舟原創
2017-10-10 10:32:221140瀏覽

這篇文章主要介紹了javascript數組定義的幾種方法,一般來說分為隱式創建、直接實例化、創建數組並指定長度、後來為了方便直接使用json格式定義數組,這裡腳本之家小編就為大家介紹一下,需要的朋友可以參考一下

1、什麼是數組

##數組就是一組資料的集合

其表現形式就是記憶體中的一段連續的記憶體位址
陣列名稱其實就是連續記憶體位址的首位址

#2、關於js中的陣列特徵

陣列定義時無需指定資料類型

陣列定義時可以無需指定數組長度
數組可以儲存任何資料類型的資料(比如說一個元素保存整數,一個元素保存字串型,這個在JS中是可以的)

建立陣列的語法:

var arr=[值1,值2,值3];                   arr=new Array(值1,值2,值3);      //直接實例化

var array=new Array(size);           //創建數組並指定長度

//方法一
var arr1 = [1,3,5,7,9];
document.write(arr1[2] + &#39;<br>&#39;);
 
//方法二
var arr2 = new Array(2,4,6,8,10);
document.write(arr2[3] + &#39;<br>&#39;);
 
//方法三
var arr3 = new Array(3);//固定数组长度为3
arr3[0] = 1;
arr3[1] = 2;
arr3[2] = 3;
document.write(arr3[2] + &#39;<br>&#39;);


JS中符號意義:

()表示函數執行[]表示語法模擬,表示模擬Array類別的實例(=new Array( ))

{}表示語法模擬,表示模擬Object類別的實例(=new Object())

//表示語法模擬(正規物件),表示模擬RegExp類別的實例(=new RegExp())


3、關於陣列長度

陣列物件.length

在js中,每個陣列物件都可以呼叫length屬性,它表示數組物件下方共有幾個陣列元素

範例:

var row = [&#39;zhangsan&#39;,&#39;lisi&#39;,&#39;wangwu&#39;];
doucument.write(&#39;共有&#39;+row.length+&#39;个人<br>&#39;);

var length = row.length;//对数组进行遍历
for (var i=0;i<length;i++){
doucument.write(row[i]+&#39;<br>&#39;);
}


4、for...in語句

#在js中,數組不是資料類型,數組的資料型別其實就是物件

Js中的For.....in語句可以實現對一個物件的所有屬性的遍歷

也可以使用for...in語句實作對一個陣列的所有元素的遍歷

語法:

for( var i in array ){

}

原理:數組中有幾個元素,for..in語句就循環執行多少次

每次執行時,將當前數組元素的下標存放到變數i中

var row = [&#39;zhangsan&#39;,&#39;lisi&#39;,&#39;wangwu&#39;,&#39;xiaoqiang&#39;];
for (var i in row){
 document.write(i + &#39;:&#39; + row[i] + &#39;<br>&#39;);
}

結果:

  0:zhangsan

  1:lisi

  2:wangwu

  3:xiaoqiang


#1 、文字下標

格式:

arr['key'] = value;

在js中,文字下標的陣列元素,不計入數組長度

以文字下標形式加入數組,實際上是以屬性形式添加到數組物件中的

##

var arr = [1,2,3];
arr[&#39;first&#39;] = &#39;zhangsan&#39;;
arr[&#39;second&#39;] = &#39;lisi&#39;;

document.write(arr.length + &#39;<br>&#39;);
document.write(arr.first + &#39;<br>&#39;);
document.write(arr.second + &#39;<br>&#39;);

結果:


  3

  zhangsan

  lisi

遍歷帶有文字下標的陣列:

var arr = [1,2,3];
arr[&#39;first&#39;] = &#39;zhangsan&#39;;
arr[&#39;second&#39;] = &#39;lisi&#39;;

for(var i in arr){
 document.write(i + &#39;:&#39; + arr[i] + &#39;<br>&#39;);
}

1

  1:2
  2:3

  first:zhangsan

  second:lisi


6、多維數組


var arr = [
  [10,&#39;zhangsan&#39;,&#39;male&#39;],
  [11,&#39;lisi&#39;,&#39;female&#39;],
  [12,&#39;wangwu&#39;,&#39;male&#39;]
 ];
for (var i in arr){
 for(var j in arr[i]){
  document.write(arr[i][j]);
 }
 document.write(&#39;<br>&#39;);
}
以下是腳本之家的補充


#1.先定義再賦值

##
var myArray1 = new Array(); //不定义元素个数
  myArray1[0] = "脚";
  myArray1[1] = "本";
  myArray1[2] = "之";
 myArray1[3] = "家";
var myArray2 = new Array(4); //定义元素的个数
  myArray1[0] = "脚";
  myArray1[1] = "本";
  myArray1[2] = "之";
 myArray1[3] = "家";

 2.定義數組時同時賦值

var myArray3 = new Array("腳","本","之","家");

//你需要在數組內指定數值或邏輯值,那麼變數類型應該是數值變數或布林變量,而不是字元變數

3、json格式的定義

var myArray4 = [
   {"num":"1001","name":"jack","age":16},
   {"num":"1002","name":"Mary","age":17},
   {"num":"1003","name":"Tom","age":19}
   ];
//注意中括号和大括号的位置

不懂的同學可以查看這篇文章:http://www.jb51.net/article/20688.htm

Json定義用法和陣列的差異


Json:是在javascript用來存資料的一種方法。

Json 形式:var Json={a:1 , b:2 , c:3};

陣列形式:var arr=[1,2,3];

Json個陣列的差異:


1、Json的下標是字串,如呼叫第一個資料時用:Json.a 。 陣列的下標是數字如arr[0]
2、Json沒有length,陣列有lengt

用Json來存數據,如果遇到需要迴圈需要用for(元素變數in 變數名稱) {};因為Json沒有length所以要用for in循環,for in迴圈可以用在Json和陣列for(i in Json){

  語句

};

#什麼時候用for循環,什麼時候用for in迴圈?

陣列:用for迴圈for(i=0,iJson:用for in迴圈for(i in Json){};



# 4. 注意


   · 陣列只有陣列長度一個屬性
   · 如果沒有給陣列賦值得到的是undefined,列印是」「

   · 陣列長度不夠可以自動擴充,不存在越界的問題

以上是JavaScript中關於陣列定義的幾種方法分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn