1、array.prototype.slice.call()
這種方法是借用了陣列原型中的slice方法,返回乙個陣列。slice方法的內部實現:
array.prototype.
slice
=function
(start,end)
var result =
newarray()
; start = start ||
0;
end = end ||
this
.length;
//使用call之後this指向了類陣列物件
for(
var i = start; i < end; i++
)return result;
}
2、array.from()
array.from()是es6中新增的方法,可以將兩類物件轉為真正的陣列:類陣列物件和可遍歷(iterable)物件(包括es6新增的資料結構set和map)。
只要是部署了iterator介面的資料結構,array.from都能將其轉換為陣列
3、擴充套件運算子(…)
同樣是es6中新增的內容,擴充套件運算子(…)也可以將某些資料結構轉為陣列
//arguments物件的轉
[...arguments]
//nodelist物件的轉換
[...document.queryselectorall('p')]
擴充套件運算子實際上呼叫的是遍歷器介面,如果乙個物件沒有部署此介面就無法完成轉換 類陣列轉換為陣列的方法
1 array.prototype.slice.call 這種方法是借用了陣列原型中的slice方法,返回乙個陣列。slice方法的內部實現 array.prototype.slice function start,end return result 乙個通用的轉換函式 var toarray fu...
類陣列物件轉換為陣列的方法
在編寫 時,有時需要對類陣列物件使用foreach map filter等迭代操作,而類陣列物件無法直接呼叫這些方法,因而需將其轉換為陣列。doctype html en utf 8 viewport content width device width,initial scale 1.0 docu...
將類陣列轉換為陣列
一 利用陣列的slice方法 slice.call arguments 原理 array.prototype.slice的實現原理 array.prototype.slice function start,end var result new array start start 0 end end ...