开发过程中,有很多时候获取到的是类似数组的对象。比如元素的集合(elementcollection,nodeList,以及今天开发时发现classList也是类数组)。有时我们需要类数组去调用数组的方法,怎么办?

一、遍历类数组,依次将元素放入一个空数组。

类数组本身虽然不是数组,但是有interator接口,所以可遍历。(interator指可遍历、可迭代)

例如:

页面有三个div,divEle是一个nodeList,即元素集合,并非纯数组。可以用let of遍历。然后依次放入一个空数组。这样divArr就是div元素集合的数组。

二、用扩展运算符或者Array.from()方法转换

es6新增了扩展运算符(...)以及Array.from()方法,可以直接将类数组转换为真正的数组。

关于扩展运算符以及Array.from()的详细用法,可参考阮一峰老师的《es6标准入门》一书。

扩展运算符的使用前提,是对象有Interator接口,这和let of的前提是一样的。但是用扩展运算符和Array.from()无疑简洁很多。

需要特别指出的是,Array.from()方法可以将任意具有length属性的对象转换成真正的数组(类数组有length属性)。具体转换形式可参考阮一峰老师的《es6标准入门》一书。

三、利用apply展开

apply方法的第二个参数是数组,也可以是类数组,在调用的时候会将第二个参数依次展开。

过程类似扩展运算符。

以上三种方法推荐扩展运算符,方式非常的简洁。

将类数组转换为数组的方法相关推荐

  1. 将普通函数当中的arguments(类数组转换为数组以及类数组调用数组方法)

    1.把类数组转换为数组 function fn() {/* console.log(arguments);// let arr = Array.from(arguments); 方法1let arr ...

  2. 将java中数组转换为ArrayList的方法实例(包括ArrayList转数组)

    方法一:使用Arrays.asList()方法 1 2 String[] asset = {"equity", "stocks", "gold&quo ...

  3. 3种JavaScript 数组转换为字符串的方法

    英文 | https://javascript.plainenglish.io/how-to-convert-a-javascript-array-into-a-string-f066c8839a1d ...

  4. php伪数组转换为数组,JavaScript伪数组用法实例

    在Javascript中什么是伪数组?伪数组(类数组):无法直接调用数组方法或期望length属性有什么特殊的行为,但仍可以对真正数组遍历方法来遍历它们.本文实例讲述了JavaScript伪数组用法, ...

  5. js类数组转数组的方法(ArrayLike)

    1. 什么是类数组ArrayLike 拥有length属性,其它属性(索引)为非负整数(对象中的索引会被当做字符串来处理,这里你可以当做是个非负整数串来理解) 不具有数组所具有的方法 //类数组示例 ...

  6. JS 中的类数组对象如何转换为数组?

    大家好,我是前端西瓜哥,今天说一下 JS 的类数组对象是什么,以及如何将类数组对象转为数组. 类数组对象是什么? 类数组对象,就是含有 length 属性的对象,但这个对象不是数组. 通常来说还会有 ...

  7. 数组、对象、类数组对象的不同以及类数组转数组方法总结

    一.数组.对象.类数组对象数据结构的异同 1.数组 一组有序的数据集合,其索引为从0开始且自然增长的整数,其元素值可以是任何js数据!并且包含一个名为length的属性,该属性表示数组元素的个数! v ...

  8. 打印Java数组的最简单方法是什么?

    在Java中,数组不会覆盖toString() ,因此,如果尝试直接打印一个,则将得到className +'@'+数组的hashCode的十六进制,如Object.toString()所定义: in ...

  9. JS数组类型,数组的各种方法和操作(后盾人笔记)

    数组是多个变量值的集合,数组是Array 对象的实例,所以可以像对象一样调用方法. 数组是引用类型,因此使用 = 直接赋值数组,修改新数组时会把原数组修改掉,这样只是将数组的地址赋值给了它,如果对该变 ...

最新文章

  1. 改变状态栏的背景色和文字的颜色
  2. 10月25日lol服务器维护,《LOL》lol10月25日停机维护到什么时候 10.25维护结束时间...
  3. CodeForces - 1311D Three Integers(暴力)
  4. 利用XML生成Excel
  5. 信息学奥赛一本通(1194:移动路线)
  6. Activity端详
  7. c语言随机数 单片机32,自己用C语言写PIC32单片机的serial bootloader
  8. 微信APP支付配置文档
  9. vue中的横向排列_vue + ElementUI 的横向表格代码
  10. 下方点击出项上方对应的插件_魔兽世界MiDKP3.0插件使用说明
  11. 峰哥建议你要多「旷课」
  12. 百度网盘html资源,百度网盘目录索引搭建教程:如何把百度网盘文件做成在线html目录...
  13. 系统设计面试题之 怎么设计一个打分系统
  14. python特殊变量方法 不懂_Python中的常见特殊方法—— del方法
  15. cpc和ocpc,如果你是运营,你选哪个?
  16. PBID外部工具:Model Analyzer
  17. 安卓手机合并内存卡到内置存储
  18. python图片下载器(百度图片)
  19. 酷开系统让父母的老年生活也开始智能化
  20. android版本4.4.2导航,Android 4.4.2 艾酷V82智能一体机系统剖析

热门文章

  1. Thread类的有关方法
  2. soapUI生成WebService客户端代码
  3. WordPress主题XingYu-V1.0
  4. 时间序列(time serie)分析系列之ARIMA预测3.1
  5. java整型数组字符串相互转换,java数组与字符串相互转换、整型与字符串相互转换【详解】...
  6. IEnumerable 与 IQueryable
  7. lnmp如何打开mysql远程访问
  8. 谈谈301状态码和302状态码的区别
  9. python私有变量和继承_python私有变量子类如何继承-女性时尚流行美容健康娱乐mv-ida网...
  10. java jlabel对齐方式_怎么设置JLabel内容对齐方式