首頁 > web前端 > js教程 > 主體

幾種javascript數組定義的方法詳解

小云云
發布: 2018-01-27 13:29:48
原創
2675 人瀏覽過

關於數組定義的方法大家了解多少?一般來說分為隱式創建、直接實例化、創建數組並指定長度、後來為了方便直接使用json格式定義數組,本文就和大家分享幾種javascript數組定義的方法詳解,希望能幫助大家。

1、什麼是陣列

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

2、關於js中的陣列特點

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

#建立陣列的語法:

var arr=[值1,值2,值3];                      //為下1,

#1,new Array(值1,2ray)值;      //直接實例化

##var array=new Array(size);           //建立陣列並指定長度

#reee JS中符號意義:

()表示函數執行

[]表示語法模擬,表示模擬Array類別的實例(=new Array()){}表示語法模擬,表示模擬Object類別的實例(=new Object())//表示語法模擬(正規物件),表示模擬RegExp類別的實例(=new RegExp())


3、關於陣列長度

陣列物件.length

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

#範例:

//方法一
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;);
登入後複製

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;];
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;);
}
登入後複製

結果:

  0:zhangsan

  1:lisi

  2:wangwu

  3:xiaoqiang


5、文字下標

#格式:

arr['key'] = value;

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

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

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;);
}
登入後複製

結果:

  3

  zhangsan

  lisi

遍歷有文字下標的陣列:



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;);
登入後複製

  0 :1

  1:2

  2:3

  first:zhangsan

  second:lisi


6、多維數組

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.先定義再賦值

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;);
}
登入後複製

 2.定義數組時同時賦值

var myArray3 = new Array("腳","本","之","家");//你需要在數組內指定數值或邏輯值,那麼變數類型應該是數值變數或布林變量,而不是字元變數

3、json格式的定義

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] = "家";
登入後複製

不懂的同學可以查看這篇文章: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,列印是」「   · 陣列長度不夠可以自動擴充,不存在越界的問題



您可能感興趣的文章:

#js中的陣列Array定義與sort方法使用範例

  • javascript中陣列的多​​種定義方法和常用函數簡介

  • javascript中陣列的定義及使用實例

  • JavaScript自訂陣列排序方法

  • JavaScript jQuery 中定義陣列與運算及jquery陣列運算

  • JavaScript陣列的定義及數字操作技巧

  • javascript 陣列的定義與陣列的長度

  • javascript如何定義物件陣列

  • JavaScript定義陣列的三種方法(new Array(),new Array(''x'',' 'y'')

以上是幾種javascript數組定義的方法詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板