js類陣列用法以及類陣列轉陣列的方法

2021-10-08 15:57:12 字數 1677 閱讀 7160

類陣列基本形態,屬性要為索引(數字)屬性,必須有length屬性(最重要),最好加上push。

使用起來和陣列一樣,(可以使用陣列的方法,但是使用前必須先在類陣列中定義),也可以當成物件使用。儲存資料能力更強。

//類陣列基本形態,屬性要為索引(數字)屬性,必須有length屬性(最重要),最好加上push

//使用起來和陣列一樣,

var obj=

題目:

var obj=

obj.push("c");//先找length=2,length決定了在哪一位開始push值

obj.push("d");

/* var obj= */

console.log(obj);//

題目考點:push方法內部原理:

array.prototype.push=function(target)
加強理解:

var obj=

obj.push("c");//

二、類陣列轉陣列方法

1、array.prototype.slice.call()

這種方法是借用了陣列原型中的slice方法,返回乙個陣列。slice方法的內部實現:

array.prototype.slice = function(start,end)  

return result;

}

乙個通用的轉換函式:

var toarray = function(s) catch(e)  

return arr;

}

2、array.from()

array.from()是es6中新增的方法,可以將兩類物件轉為真正的陣列:類陣列物件和可遍歷(iterable)物件(包括es6新增的資料結構set和map)。

var arraylike = ;

var arr = array.from(arraylike);//['a','b','c']

//把nodelist物件轉換為陣列,然後使用陣列的foreach方法

var ps = document.queryselectorall('p');

array.from(ps).foreach(p));

//轉換arguments物件為陣列

function foo()

//只要是部署了iterator介面的資料結構,array.from都能將其轉換為陣列

array.from('hello'); //['h','e','l','l','o']

3、擴充套件運算子(…)

同樣是es6中新增的內容,擴充套件運算子(…)也可以將某些資料結構轉為陣列

//arguments物件的轉換

function foo()

//nodelist物件的轉換

[...document.queryselectorall('p')]

擴充套件運算子實際上呼叫的是遍歷器介面,如果乙個物件沒有部署此介面就無法完成轉換。

js 陣列,類陣列

1.陣列 一種特殊的物件 a 會改變原陣列的api push unshift pop shift splice sort reverse var arr 3,5,2,7,1,9,0,3 push 需要新增的引數值1,引數值n 向陣列末尾新增元素 可以是多個引數,就是向陣列新增多個元素 arr.pus...

js類陣列轉陣列方法(偏小白)

類陣列 類似於乙個陣列的物件 是相當於乙個物件,裡面有陣列的值以及相應的屬性 length 類陣列本質上是乙個物件,使用物件模擬出來的乙個陣列,它用陣列下標作為物件屬性的鍵,陣列元素作為物件各字段的值。另外,類陣列物件還有乙個length屬性。除此之外不再有其它像push pop等陣列屬性和方法。v...

陣列的合併 與 類陣列轉陣列

let arr1 1,2,3 let arr2 4,5,6 最基礎的 arr1.concat arr2 這個是es3的array方法。稍高階的 array.prototype push當然我們也可以使用來代替array.prototype。為什麼可以代替array.prototype?因為array...