javascript中集合、陣列和物件的區別和關係

admin發表於2017-03-31

在javascript中可能會經常提到集合、陣列或者物件幾個概念,甚至有些時候它們的使用比較混亂,可能會導致一些初學者或者對此比較的朋友感到些須迷茫,下面就通過簡單的程式碼例項做一下相關介紹。

下面先看一段程式碼例項:

[JavaScript] 純文字檢視 複製程式碼
var array=[1,2,3,4,5];
var obj={
  0:1,
  1:2,
  2:3,
  3:4,
  4:5
}
console.log(array[0]);
console.log(obj[0]);

上面程式碼的演示,是不是感覺物件和陣列非常的類似。

下面就來做一下相關的介紹:

物件和陣列都是屬於集合,陣列標識有序資料集合,而物件則表示無序資料集合。

還有一個非常重要的區別就是,陣列是無名稱的,而陣列是有名稱的。

關聯陣列:

在程式語言中,還有一個關聯陣列的概念,在上面已經介紹過,陣列是沒有名稱的,是通過索引值獲取資料,但是關聯陣列是可以有名稱的,看如下程式碼例項:

定義一個物件:

[JavaScript] 純文字檢視 複製程式碼
var obj={
  webName:"螞蟻部落",
  age:2,
  address:"青島市南區"
}

定義一個關聯陣列:

[JavaScript] 純文字檢視 複製程式碼
two["webName"]="螞蟻部落";
two["age"]=2;
two["address"]="青島市南區";

但是在javascript中,關聯陣列就是物件,並不是陣列,下面通過一段程式碼做一下證明:

[JavaScript] 純文字檢視 複製程式碼
var array=[];
array["webName"]="螞蟻部落";
array["age"]=2;
array["address"]="青島市南區";
console.log(array["webName"]);
console.log(array.length);

可以看到陣列的長度是0,並不是3。

但是在php這樣的語言中,關聯陣列也是陣列,這裡就不演示了,感興趣的可以自行測試一下。

相關文章