JS中对象转数组的几种方法

技术知识
0 1875
小师傅 小师傅2020-07-08
积分:2397

1.Array.from() 方法,用于数组的浅拷贝。就是将一个类数组对象或者可遍历对象转换成一个真正的数组。

代码如下:

let obj = {
        0: 'nihao',
        1: 'haha',
        2: 'gansha',
        'length': 3
    } 
let arr = Array.from(obj)
console.log(arr);

1.png

tips: 1. object中必须有length属性,返回的数组长度取决于length长度 
        2.key 值必须是数值

 

2.Object.values(object)
tips:与第一种不同的是不需要length属性,返回一个对象所有可枚举属性值


这里简单说一下可枚举性。目前我还没理解这个可枚举性有什么用,大概意思就是

对象的每一个属性都有一个描述对象,用来描述和控制该属性的行为,用Object.getOwnPropertyDescriptor方法来获取该描述对象(用Object.defineProperty方法来设置)。

以后仔细研究之后会再好好写写这个可枚举性的!

代码如下:

let obj = {
        0: 'nihao',
        1: 'haha',
        2: 'gansha',
    }
let arr = Object.values(obj)
console.log(arr);

1.png

3.Object.keys(object)
tips:返回一个对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用 for…in 循环遍历该对象时返回的顺序一致

代码如下:

let obj = {
        0: 'nihao',
        1: 'haha',
        2: 'gansha',
    }
let arr = Object.keys(obj)
console.log(arr);

3.png

4.Object.entries(object)
tips:返回一个给定对象自身可枚举属性的键值对数组

代码如下:

let obj = {
        0: 'nihao',
        1: 'haha',
        2: 'gansha',
    }
let arr = Object.entries(obj)
console.log(arr);


4.png

5.for  in 循环

精选帖子
Android 可可影视 v3.3.6无广告纯净版 3091
Android QQ音乐 v11.3.7 定制版解锁免费听歌无广告版 3672
Android 草图大师SKP v1.5 解锁会员版 9025
Android OmoFun追漫神器 v4.2.1 无广告绿色版 6066
AdobeGenP Adobe全家桶系列激活工具 v3.5.0/3.4.14.1 绿色版 6647
Android 七猫免费听书 v1.4 解锁高级版 5055
超良心的抢票神器——Bypass1.16 4788
Android 玲珑加速器 v6.10.9.40 解锁无限时间 3441
Android 大师兄影视 v3.3.8 去广告会员版 2568
热门帖子
一键激活Win系统和Office办公软件,最强电脑激活KMS HUE工具,免费永久可用,支持win系统使用 59
得间免费小说 v5.5.8.1 免费网文追书APP 54
酷我音乐 v12.1.8.2 无损音乐播放APP 去广告解锁会员版 51
ChatGPT+Codex电脑自动化课:环境搭建×三大核心实战×全场景应用拓展×AI自主操控电脑×零基础上手 51
豆丁视频 v3.3.0 高清影视播放 免费追剧APP 46
蚂蚁视界 v6.7.0 高清影视追剧APP 全品类视频播放软件 45