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

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

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

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

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

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

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

        比如:

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

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

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

        2、轉(zhuǎn)換方法

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

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

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

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

        二、延伸-Array.from()

        1、作用:

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

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

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

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

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

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

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

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

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

        4-Array.from第二個參數(shù):用來對每個元素進行處理,將處理后的值放入數(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號-2    滬公網(wǎng)安備31011702889846號
        主站蜘蛛池模板: 亚洲精品高清视频| 国产一区二区精品尤物| 国产精品天干天干在线综合| 自拍偷自拍亚洲精品被多人伦好爽| 在线精品视频播放| 精品国产福利一区二区| 亚洲av午夜国产精品无码中文字| 2023国产精品自拍| 国产精品久久免费| 精品久久久久久无码中文字幕一区 | 日韩一区二区三区在线精品| 2021国产精品视频网站| 久久99精品综合国产首页| 成人精品视频99在线观看免费| 香蕉久久夜色精品升级完成| 亚洲爆乳无码精品AAA片蜜桃 | 2021国产三级精品三级在专区| 精品一区二区久久久久久久网站| 国产欧美精品一区二区三区| 亚洲精品国产成人片| 一区二区国产精品| 亚洲精品亚洲人成在线观看下载| 亚洲电影日韩精品| 中文无码久久精品| 亚洲国产精品无码久久久蜜芽| 一区二区三区精品高清视频免费在线播放| 日韩视频中文字幕精品偷拍| 亚洲国产精品一区二区三区久久| 青草国产精品视频。| 亚洲国产精品狼友中文久久久| 正在播放国产精品每日更新| 亚洲处破女AV日韩精品| 精品无码人妻一区二区三区品 | 精品国精品国产自在久国产应用| 久久亚洲精品成人av无码网站| 亚洲精品乱码久久久久久久久久久久 | 久久99精品久久久久久hb无码| 亚洲AV无码成人精品区天堂| 四虎影视永久在线观看精品| 久久精品无码专区免费东京热| 精品国偷自产在线|