中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

es6如何將對象轉成數組

發布時間:2022-03-09 09:32:28 來源:億速云 閱讀:961 作者:iii 欄目:web開發

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

在es6中,可以利用Array對象的from()方法來將對象轉成數組,該方法可以將一個類數組對象或者可遍歷對象轉換成一個真正的數組;語法“Array.from(對象)”。

本教程操作環境:windows7系統、ECMAScript 6版、Dell G3電腦。

在es6中,可以利用Array對象的from()方法來將對象轉成數組。

Array.from()方法就是將一個類數組對象或者可遍歷對象轉換成一個真正的數組。

那么什么是類數組對象呢?所謂類數組對象,最基本的要求就是具有length屬性的對象。

1、將類數組對象轉換為真正數組:

let arrayLike = {
    0: 'tom',  
    1: '65',
    2: '男',
    3: ['jane','john','Mary'],
    'length': 4
}
let arr = Array.from(arrayLike)
console.log(arr) // ['tom','65','男',['jane','john','Mary']]

那么,如果將上面代碼中length屬性去掉呢?實踐證明,答案會是一個長度為0的空數組。

這里將代碼再改一下,就是具有length屬性,但是對象的屬性名不再是數字類型的,而是其他字符串型的,代碼如下:

let arrayLike = {
    'name': 'tom',  
    'age': '65',
    'sex': '男',
    'friends': ['jane','john','Mary'],
    length: 4
}
let arr = Array.from(arrayLike)
console.log(arr)  // [ undefined, undefined, undefined, undefined ]

會發現結果是長度為4,元素均為undefined的數組

由此可見,要將一個類數組對象轉換為一個真正的數組,必須具備以下條件:

  • 該類數組對象必須具有length屬性,用于指定數組的長度。如果沒有length屬性,那么轉換后的數組是一個空數組。

  • 該類數組對象的屬性名必須為數值型或字符串型的數字

ps: 該類數組對象的屬性名可以加引號,也可以不加引號

2、將Set結構的數據轉換為真正的數組: 

let arr = [12,45,97,9797,564,134,45642]
let set = new Set(arr)
console.log(Array.from(set))  // [ 12, 45, 97, 9797, 564, 134, 45642 ]

Array.from還可以接受第二個參數,作用類似于數組的map方法,用來對每個元素進行處理,將處理后的值放入返回的數組。如下:

let arr = [12,45,97,9797,564,134,45642]
let set = new Set(arr)
console.log(Array.from(set, item => item + 1)) // [ 13, 46, 98, 9798, 565, 135, 45643 ]

3、將字符串轉換為數組:

let  str = 'hello world!';
console.log(Array.from(str)) // ["h", "e", "l", "l", "o", " ", "w", "o", "r", "l", "d", "!"]

4、Array.from參數是一個真正的數組:

console.log(Array.from([12,45,47,56,213,4654,154]))

像這種情況,Array.from會返回一個一模一樣的新數組

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

向AI問一下細節

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

es6
AI

额尔古纳市| 即墨市| 阳山县| 塔城市| 张家川| 武义县| 昌乐县| 东平县| 金秀| 黄石市| 承德县| 工布江达县| 治县。| 深泽县| 娄底市| 博湖县| 肥东县| 宾川县| 长子县| 南京市| 南安市| 乐至县| 于田县| 乌恰县| 贵德县| 阿勒泰市| 桃园市| 左贡县| 阆中市| 安宁市| 醴陵市| 寿阳县| 大理市| 龙泉市| 车致| 丰顺县| 灌南县| 建水县| 山东省| 鸡泽县| 全南县|