類陣列是乙個普通物件,而真實的陣列是array型別。
特徵表現為:
(1)擁有length屬性,其它屬性(索引)為非負整數(物件中的索引會被當做字串來處理);
(2)不具有陣列所具有的方法;
常見的類陣列有:
函式的引數 arugments, dom 物件列表(比如通過 document.queryselectorall 得到的列表), jquery 物件 (比如 $(「div」)).
類陣列可以轉換為陣列:
方法1:
array.prototype.slice.call(arraylike, start);
方法2:
[…arraylike];
方法3:
array.from(arraylike);(注:array.from方法用於將兩類物件轉為真正的陣列:類似陣列的物件(array-like object)和可遍歷(iterable)的物件。)
ps: 任何定義了遍歷器(iterator)介面的物件,都可以用擴充套件運算子轉為真正的陣列。
陣列是一種資料型別。陣列物件的作用是:使用單獨的變數名來儲存一系列的值。
特徵:擁有方法和屬性。
(1)length屬性。主要用於獲得陣列內元素的個數,常用於for迴圈或一些判斷語句中取得陣列的長度。
(2)concat()方法。用於把兩個或多個陣列合併成乙個陣列,陣列的索引會按照合併陣列的順序重新排序。
(3)join()方法。主要用於將陣列內的元素使用字元拼接成乙個字串,不傳拼接字元引數,預設使用逗號。
(4)push():結尾新增元素(新增陣列中最後乙個元素) unshift()開頭新增元素
兩者返回值為:新增後的長度
pop():結尾刪除元素(刪除陣列中最後乙個元素) shift()開頭刪除元素 兩者返回值為:被刪除的值
(5)reverse()方法。這個方法主要用於反轉陣列元素,索引陣列 reverse後會重新排序。
(6)slice()方法。用於從陣列中提取所需要的元素,傳入的引數是提取元素開始位置,例如slice(3),則從下標為3的元素開始提取。
(7)splice()方法。splice()方法需要傳入三個引數,第乙個引數是索引開始的位置,第二個引數是刪除元素的數量,第三個引數是在開始索引的位置插入的元素(可以為多個元素)。
1.從建構函式入手,obj instanceof array
2.從原型入手,array.prototype.isprototypeof(obj);
3.array.isarray()方法
4.根據物件的class屬性(類屬性),跨原型鏈呼叫tostring()方法。
陣列和類陣列的區別
什麼是類陣列 輸出結果 類陣列是指在寫法上跟陣列一樣,例如 arguments 和 length 寫法上跟陣列一樣,不具有陣列所具有的方法 但類陣列,只是乙個普通的物件,他的原型是object。而真實的陣列是array型別。把物件變成陣列的方法 方法一 輸出結果 返回乙個原型為array陣列 方法二...
類陣列 陣列
類陣列 script type text j ascript varobj array.prototype.push function target script 陣列 最後一位增加乙個數 去掉陣列最後的一位 再第一位增加乙個數 shift去掉陣列的第一位 顛倒陣列 排序 公升序 從第幾位開始擷取多...
陣列物件和類陣列物件區別
類陣列物件 看例子 var a var i 10 while i 10 很明顯物件啊 console.log a.length undefined 區別就在這了 類陣列物件沒有長度的屬性和陣列的方法 console.log object.prototype.tostring.call a objec...