首页前端开发JavaScriptjavascript怎么将对象转换为数组

javascript怎么将对象转换为数组

时间2024-01-29 22:05:03发布访客分类JavaScript浏览627
导读:收集整理的这篇文章主要介绍了javascript怎么将对象转换为数组,觉得挺不错的,现在分享给大家,也给大家做个参考。javascript对象转换为数组的方法:1、通过“[].slice.call(对象 ”语句;2、使用“Array.Fro...
收集整理的这篇文章主要介绍了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遍历spanDomArrlet 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转换

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

以上就是javascript怎么将对象转换为数组的详细内容,更多请关注其它相关文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

javascript对象

若转载请注明出处: javascript怎么将对象转换为数组
本文地址: https://pptw.com/jishu/591657.html
javascript实现继承的方式有哪些 javascript数组去重有哪几种方式

游客 回复需填写必要信息