JS中的array和Object的區別

2021-09-28 13:47:43 字數 1156 閱讀 8771

區別:

陣列表示有序資料的集合,物件表示無需資料的集合。如果資料順序很重要的話,就用陣列,否則就用物件的好。

陣列的資料沒有名稱'name'   物件的資料有名稱 'name' 但是在很多程式語言中有個叫關聯陣列的,這種陣列中的資料是有名稱的。

如何區分array和object:

1:通過isarray方法

使用方法: array.isarray(obj); //obj是檢測的物件  

2:通過instanceof運算子來判斷

instanceof運算子左邊是子物件(待測物件),右邊是父建構函式(這裡是array),

具體**:

var obj = ;

var arr = [1,2];

console.log("物件的結果:"+(obj instanceof array));

console.log("陣列的結果:"+(arr instanceof array));

3::使用isprototypeof()函式

原理:檢測乙個物件是否是array的原型(或處於原型鏈中,不但可檢測直接父物件,還可檢測整個原型鏈上的所有父物件)

使用方法: parent.isprototypeof(child)來檢測parent是否為child的原型;

isprototypeof()函式實現的功能和instancof運算子非常類似;

具體**:

array.prototype.isprototypeof(arr)//true表示是陣列,false不是陣列

4:利用建構函式constructor

具體**:

var obj = ;

var arr = [1,2];

console.log(obj.constructor == array)

console.log(arr.constructor == array)

5:使用typeof(物件)+型別名結合判斷:

具體**:

function isarrayfour(arr) else }}

console.log(typeof(obj))

console.log(typeof(arr))

console.log(isarrayfour(obj))

console.log(isarrayfour(arr))

js 中的陣列Array

1 ecmascript 中的陣列與其他語言中的陣列有些不同,ecmascript中的陣列可以每一項都不同型別,陣列的大小可以動態調整。var colors new array var colors new array 20 var colors new array red blue green v...

JS中的Array陣列物件

陣列物件是乙個物件的集合,裡邊的物件可以是不同型別的。陣列的每乙個成員物件都有乙個 下標 用來表示它在陣列中的位置,是從零開始的 陣列定義的方法 var 陣列名 newarray var 陣列名 newarray n var 陣列名 元素1 元素2 元素3 我們定義myarray陣列,並賦值,如下 ...

js中Array物件的方法

1 concat arr1.concat 作用 將多個陣列組合成乙個 返回值 返回乙個新陣列 2 join arr.join 分隔符 返回值 新的字串 3 pop 作用 刪除陣列的最後乙個元素 返回值 返回刪除的元素 4 push arr.push 作用 在陣列後面新增元素 返回值 返回陣列的新長度...