站長(zhǎng)資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

javascript怎么將對(duì)象轉(zhuǎn)換為數(shù)組

javascript對(duì)象轉(zhuǎn)換為數(shù)組的方法:1、通過(guò)“[].slice.call(對(duì)象)”語(yǔ)句;2、使用“Array.from(對(duì)象)”語(yǔ)句,“Array.from()”方法可把可遍歷的對(duì)象轉(zhuǎn)換成數(shù)組(包括Set和Map數(shù)據(jù)結(jié)構(gòu))。

javascript怎么將對(duì)象轉(zhuǎn)換為數(shù)組

本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。

一、把類似數(shù)組的對(duì)象轉(zhuǎn)換成數(shù)組

1、什么是類似數(shù)組的對(duì)象

比如:

let arrayLike = {     '0':"z",     '1':"y",     '2':"k",     length:3 };

本質(zhì)是有l(wèi)ength屬性,可以類似數(shù)組的獲取元素的方式arrayLike[0]、arrayLike[1]去獲取元素,也可以通過(guò)arrayLike.length獲取偽數(shù)組的長(zhǎng)度。

常見(jiàn)的偽數(shù)組有通過(guò)DOM操作獲取的NodeList集合(document.querySelectorAll('p')),以及函數(shù)形參arguments。

2、轉(zhuǎn)換方法

方法一:通過(guò)[].slice.call(arrayLike)

//獲取當(dāng)前dom的span組成的偽數(shù)組 let spanDomArr = document.querySelectorAll('span');   //通過(guò)數(shù)組的方法forEach遍歷spanDomArr let arr = [].slice.call(spanDomArr);   //因?yàn)閟panDomArr是偽數(shù)組,不支持?jǐn)?shù)組的forEach,所以需要先轉(zhuǎn)換成數(shù)組 arr.forEach(function(span){     console.log(span) });

方法二:通過(guò)Array.from(arrayLike)

//獲取當(dāng)前dom的span組成的偽數(shù)組 let spanDomArr = document.querySelectorAll('span');   //通過(guò)數(shù)組的方法forEach遍歷spanDomArr //因?yàn)閟panDomArr是偽數(shù)組,不支持?jǐn)?shù)組的forEach,所以需要先轉(zhuǎn)換成數(shù)組 Array.from(spanDomArr).forEach(function(span){     console.log(span) });

二、延伸-Array.from()

1、作用:

1-可以將類似數(shù)組的對(duì)象轉(zhuǎn)換成數(shù)組;

2-可以把可遍歷的對(duì)象轉(zhuǎn)換成數(shù)組(包括ES6新增的數(shù)據(jù)結(jié)構(gòu)Set和Map);

2、實(shí)際應(yīng)用:

1-如果當(dāng)前瀏覽器未部署此方法,可以使用Array.prototype.slice方法替代

/*  *  方法名:objectToArray  *  功能介紹:把類似數(shù)組的對(duì)象、可遍歷的對(duì)象轉(zhuǎn)換成數(shù)組  *  參數(shù):obj-需要轉(zhuǎn)換的對(duì)象  */ var objectToArray = function(obj){    return Array.from ? Array.from(obj) : [].slice.call(obj); };

2-如果參數(shù)是數(shù)組,則會(huì)返回一個(gè)一模一樣的數(shù)組

Array.from(["z","y","k"]); //打印:["z","y","k"]

3-僅有l(wèi)ength屬性的對(duì)象,無(wú)法通過(guò)array.from轉(zhuǎn)換

javascript怎么將對(duì)象轉(zhuǎn)換為數(shù)組

4-Array.from第二個(gè)參數(shù):用來(lái)對(duì)每個(gè)元素進(jìn)行處理,將處理后的值放入數(shù)組返回。

let arrayLike = {     "0" : "z",     "1" : "y",     "2" : "k",     "length":3 }; Array.from(arrayLike,x=>x+'1'); //等同于 Array.from(arrayLike).map(x=>x+'1');  //打印:["z1","y1","k1"]

贊(0)
分享到: 更多 (0)
網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)
老司机67194精品线观看| 久久久精品日本一区二区三区 | 97精品伊人久久大香线蕉| 69久久夜色精品国产69小说| 国产精品乱码高清在线观看| 久久这里有精品视频| 亚洲精品专区在线观看| 日韩在线一区二区三区视频| 中文字幕在线日韩| 国产精品一区二区四区| 精品400部自拍视频在线播放| 国产精品无码专区AV在线播放| 国产成人精品日本亚洲11| 久久国产乱子伦免费精品| 亚洲精品人成在线观看| 午夜精品久久久久久久| 日韩精品国产自在久久现线拍| 国内精品久久久久影院薰衣草| 国产情侣大量精品视频| 一本一本久久a久久精品综合 | 日韩一级片免费观看| 国产精品东北一极毛片| 国产精品午夜福利在线观看地址 | 香蕉依依精品视频在线播放 | 精品无码国产自产拍在线观看| 久久国产精品免费视频| 亚洲精品视频久久久| 香港aa三级久久三级老师2021国产三级精品三级在 | 国产精品内射久久久久欢欢| 亚洲精品WWW久久久久久| 亚洲精品成人在线| 国产麻豆精品入口在线观看| 久久精品国产一区二区三区不卡| 久久精品国产亚洲一区二区三区| 中文精品字幕电影在线播放视频| 国产在线精品一区二区不卡麻豆 | 91精品国产高清久久久久久国产嫩草 | 中文国产成人精品久久app| 成人精品视频99在线观看免费| 国产69精品久久久久久人妻精品 | 国产精品视频一区二区猎奇|