91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

javascript將對象轉換為數組的方法

發布時間:2021-06-23 10:11:04 來源:億速云 閱讀:240 作者:chen 欄目:web開發

本篇內容主要講解“javascript將對象轉換為數組的方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“javascript將對象轉換為數組的方法”吧!

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

本教程操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

一、把類似數組的對象轉換成數組

1、什么是類似數組的對象

比如:

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

本質是有length屬性,可以類似數組的獲取元素的方式arrayLike[0]、arrayLike[1]去獲取元素,也可以通過arrayLike.length獲取偽數組的長度。

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

2、轉換方法

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

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

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

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

二、延伸-Array.from()

1、作用:

1-可以將類似數組的對象轉換成數組;

2-可以把可遍歷的對象轉換成數組(包括ES6新增的數據結構Set和Map);

2、實際應用:

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

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

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

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

3-僅有length屬性的對象,無法通過array.from轉換

javascript將對象轉換為數組的方法

4-Array.from第二個參數:用來對每個元素進行處理,將處理后的值放入數組返回。

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"]

到此,相信大家對“javascript將對象轉換為數組的方法”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

随州市| 紫云| 广元市| 外汇| 太湖县| 密云县| 阿拉善左旗| 天台县| 防城港市| 赫章县| 太湖县| 云安县| 南皮县| 平原县| 泾源县| 白城市| 连山| 太谷县| 贵州省| 马龙县| 囊谦县| 镇巴县| 手机| 高阳县| 府谷县| 锦屏县| 昌乐县| 锡林郭勒盟| 上虞市| 临城县| 塔城市| 临沂市| 阿拉善右旗| 前郭尔| 马关县| 阳高县| 新乡市| 定西市| 宜兴市| 昭觉县| 成安县|