伪数组转化真数组_JS编程之真伪数组的转换 - Go语言中文社区

伪数组转化真数组_JS编程之真伪数组的转换


6e4809400f216f378d79a121ba7faf8d.png

前端inn

公众号ID:前端inn

关注

作者:沐雨

编辑:煜喵喵不爱喝酒

1.利用apply方法将 真数组 转换为 `伪数组`

代码说明:

    - 通过[].push/Array.prototype.push找到数组中的push方法

    - 通过apply(obj)将找到的push方法内部的this修改为自定义的对象

    - 将传入数组中的元素依次取出, 传递给形参    

var arr = [1, 3, 5, 7, 9];var obj = {};  //=>自定义的对象[].push.apply(obj, arr);console.log(obj);

ecd3d20118d7827dd36953f00bdeb351.png

2.利用call方法将`伪数组` 转换为  `真数组`

数组的slice方法

    - 如果slice方法什么参数都没有传递, 会将数组中的元素放到一个新的数组中原样返回

    - slice方法的参数:第一个参数是起始位置,第二个参数是结束位置。包头不包尾

 var arr2 = [1, 3, 5, 7, 9];// var res2 = arr2.slice(); //=>[1, 3, 5, 7, 9]// var res2 = arr2.slice(2);//=>[5, 7, 9]var res2 = arr2.slice(2, 4);//=>[5, 7]console.log(res2);

如果想将伪数组转换为真数组那么可以使用如下方法:

代码分析同第一点

 // 系统自带的伪数组// var res = document.querySelectorAll("p");// 自定义的伪数组var obj = {0:"lnj", 1:"33", length: 2};  var arr = [].slice.call(obj);console.log(arr);

24945b8155547fec39167f44b69cbf74.png

注意点

-  `伪数组` 除了能转换为  `真数组`外,还可以转换为`伪数组`。比如把`伪数组`里面元素的顺序翻转后输出

- 无论是将`伪数组` 转换为  `真数组`还是转换为`伪数组`,都需要先将`伪数组` 转换为  `真数组`

70eb50f1b2009f2655a7d8711d38f15b.gif

若您对前端开发有兴趣请关注前端inn

遇到问题,请联系我们  QQ群:1141255876

666b10cb16a5f63df733737eb0138b68.png21988252-ba34-eb11-8da9-e4434bdf6706.svg

求分享

23988252-ba34-eb11-8da9-e4434bdf6706.svg

求点赞

67b66113eded98eef753c7b1b356d708.gif

求在看

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_39820910/article/details/111575647
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-04-12 07:57:52
  • 阅读 ( 487 )
  • 分类:前端

0 条评论

请先 登录 后评论

官方社群

GO教程

推荐文章

猜你喜欢