偽數(shù)組轉(zhuǎn)化為真數(shù)組是一個(gè)常見(jiàn)的操作,可以通過(guò)以下幾種方法來(lái)實(shí)現(xiàn)。
方法一:使用Array.from()方法
Array.from()方法可以將類數(shù)組對(duì)象或可迭代對(duì)象轉(zhuǎn)化為真數(shù)組。所謂類數(shù)組對(duì)象,指的是具有l(wèi)ength屬性和按照索引訪問(wèn)元素的對(duì)象,比如arguments對(duì)象、DOM NodeList對(duì)象等。
var pseudoArray = {
0: 'apple',
1: 'banana',
2: 'orange',
length: 3
};
var realArray = Array.from(pseudoArray);
console.log(realArray); // ['apple', 'banana', 'orange']
方法二:使用Array.prototype.slice.call()方法
Array.prototype.slice.call()方法可以將一個(gè)類數(shù)組對(duì)象轉(zhuǎn)化為真數(shù)組。該方法利用了Array.prototype.slice()方法的特性,通過(guò)調(diào)用該方法并傳入類數(shù)組對(duì)象作為this對(duì)象,可以將其轉(zhuǎn)化為真數(shù)組。
var pseudoArray = {
0: 'apple',
1: 'banana',
2: 'orange',
length: 3
};
var realArray = Array.prototype.slice.call(pseudoArray);
console.log(realArray); // ['apple', 'banana', 'orange']
方法三:使用擴(kuò)展運(yùn)算符(...)
擴(kuò)展運(yùn)算符(...)可以將一個(gè)可迭代對(duì)象展開(kāi),從而將其轉(zhuǎn)化為真數(shù)組。
var pseudoArray = {
0: 'apple',
1: 'banana',
2: 'orange',
length: 3
};
var realArray = [...pseudoArray];
console.log(realArray); // ['apple', 'banana', 'orange']
需要注意的是,以上方法都是將類數(shù)組對(duì)象轉(zhuǎn)化為真數(shù)組,而不是將偽數(shù)組(如arguments對(duì)象)轉(zhuǎn)化為真數(shù)組。如果要將偽數(shù)組轉(zhuǎn)化為真數(shù)組,可以使用方法一或方法二。
希望以上方法可以幫助你實(shí)現(xiàn)偽數(shù)組轉(zhuǎn)化為真數(shù)組的操作。如果還有其他問(wèn)題,請(qǐng)隨時(shí)提問(wèn)。
千鋒教育擁有多年IT培訓(xùn)服務(wù)經(jīng)驗(yàn),開(kāi)設(shè)Java培訓(xùn)、web前端培訓(xùn)、大數(shù)據(jù)培訓(xùn),python培訓(xùn)、軟件測(cè)試培訓(xùn)等課程,采用全程面授高品質(zhì)、高體驗(yàn)教學(xué)模式,擁有國(guó)內(nèi)一體化教學(xué)管理及學(xué)員服務(wù),想獲取更多IT技術(shù)干貨請(qǐng)關(guān)注千鋒教育IT培訓(xùn)機(jī)構(gòu)官網(wǎng)。