javascript怎么将对象转换为数组


本文摘自PHP中文网,作者青灯夜游,侵删。

javascript对象转换为数组的方法:1、通过“[].slice.call(对象)”语句;2、使用“Array.from(对象)”语句,“Array.from()”方法可把可遍历的对象转换成数组(包括Set和Map数据结构)。

本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

一、把类似数组的对象转换成数组

1、什么是类似数组的对象

比如:

1

2

3

4

5

6

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)

1

2

3

4

5

6

7

8

9

10

//获取当前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)

1

2

3

4

5

6

7

8

//获取当前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方法替代

1

2

3

4

5

6

7

8

/*

 *  方法名:objectToArray

 *  功能介绍:把类似数组的对象、可遍历的对象转换成数组

 *  参数:obj-需要转换的对象

 */

var objectToArray = function(obj){

   return Array.from ? Array.from(obj) : [].slice.call(obj);

};

2-如果参数是数组,则会返回一个一模一样的数组

1

2

Array.from(["z","y","k"]);

//打印:["z","y","k"]

3-仅有length属性的对象,无法通过array.from转换

4-Array.from第二个参数:用来对每个元素进行处理,将处理后的值放入数组返回。

1

2

3

4

5

6

7

8

9

10

11

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学习教程

以上就是javascript怎么将对象转换为数组的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

浏览器缓存策略的详细介绍(图文)

javascript怎么设置背景颜色

javascript如何设置select值

移动端全景装修图的实现实例分享

javascript函数的写法有哪些

javascript中访问器的优先级

javascript $是什么意思

js的趣味实现:给你一个戴眼镜的笑脸

javascript的基本结构是什么

javascript怎么获取元素并删除

更多相关阅读请进入《javascript》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...