js偽陣列及其轉化

2021-08-28 06:32:43 字數 689 閱讀 9382

在之前的筆試題中,遇到了一道題目:什麼是偽陣列?如何將偽陣列轉化為標準陣列?

▍什麼是偽陣列?

一般符合以下三個條件的稱之為偽陣列:

1、具有陣列的length屬性;

2、按照索引方式儲存資料(可以通過「」找到相應的項);

3、不具有陣列的一些方法(push、pop等)。

var obj3 = ;

var obj4 = ;

var obj5 = ;

▍偽陣列如何轉化成標準陣列?

1、使用array.prototype.slice.call();

console.log(array.prototype.slice.call());

// ["蝸牛先生", 18, 2018, "湖北經濟學院"]

2、使用.slice.call();

console.log(.slice.call());

// ["蝸牛先生", 18, 2018, "湖北經濟學院"]

3、使用es6中array.from方法;

console.log(array.from());

// ["蝸牛先生", 18, 2018, "湖北經濟學院"]

js中什麼是偽陣列,怎麼將偽陣列轉化為標準陣列?

偽陣列就是 具有0到length 1的屬性,並有length屬性 一般獲取到的dom元素或者jquery獲取到的元素都是偽陣列。偽陣列 將偽陣列轉化為標準陣列需要用到陣列原型中的方法 slice 需要使用到call方法,因為lis並沒有該方法,需要使用call來借調 console.log arra...

js 偽陣列轉化為陣列的幾種方法整理

偽陣列 無法呼叫陣列的方法,但是有length屬性,又可以索引獲取內部項的資料結構。比如 arguments getelementsbytagname等一系列dom獲取的nodelist物件,他們 都算。轉換方法 一 假設這裡有個偽陣列 pagis let arr slice.call pagis ...

Javascript 偽陣列 js中的偽陣列

js中允許以鍵值対的方式來儲存屬性,並以下標的方式來訪問,我們再手動給它加上一些類似陣列的方法,便可以模擬出和陣列一樣的操作 建立乙個偽陣列 let v new object v.length 2 v 0 ok v 1 hello v a aaa v window window v name nam...