美文网首页js
js中 类数组对象转化成数组对象的几种方法

js中 类数组对象转化成数组对象的几种方法

作者: 奕生奕世_3503 | 来源:发表于2021-04-01 15:46 被阅读0次

Array.prototype.slice.call(arguments)

原理是数组的slice()方法可以从已有数组中返回一个新数组,它可以接受两个参数arr.slice(start,end),第一个参数规定从何处开始选取,第二个参数表示从何处选取结束,如果不传参将返回原数组的一个副本,但该方法不会修改原数组,而是返回截取的新数组,根据这个就可以将类数组转化成数组对象啦!

Array.prototype.splice.call(arguments,0)

这种方式的原理和slice(start,end)方法差不多,都是通过返回一个新的数组来将类数组对象转化成数组):

1.splice(start,count,item)方法传入的参数不同,第一个参数代表开始选取的元素位置,第二个说明选取的元素数量(不传说明从第一个参数位置开始到数组的最后一个元素),第三个参数代表需要添加的元素(将会添加到第一个参数位置上)。
2.splice()方法删除/代替/添加元素之后将会影响到原来的数组,而splice()则不会影响。

Array.from(array-like) ES6方法

Array.from(obj, mapFn, thisArg) Array.from方法可以将一个类数组对象或可迭代对象转换成真实的数组
obj:想要转换成数组的伪数组对象或可迭代对象。
mapFn :(可选参数) 如果指定了该参数,新数组中的每个元素会执行该回调函数。
thisArg :(可选参数)可选参数,执行回调函数 mapFn 时 this 对象。

Array.from() 方法有一个可选参数 mapFn,让你可以在最后生成的数组上再执行一次 map 方法后再返回。也就是说 Array.from(obj, mapFn, thisArg) 就相当于 Array.from(obj).map(mapFn, thisArg), 除非创建的不是可用的中间数组。 这对一些数组的子类,如 typed arrays 来说很重要, 因为中间数组的值在调用 map() 时需要是适当的类型。
from() 的 length 属性为 1 。

扩展运算符(...)ES6方法

//arguments对象
function foo(){
  var args = [...arguments]
}
//NodeList对象
[...document.querySelectorAll('div')]

循环遍历类数组对象,push到新创建的数组对象里

var length = arrayLike.length;  
var arr = [];  
for (var i = 0; i < length; i++) {  
    arr.push(arrayLike[i]);  
    return arr;  
}  

相关文章

  • js中 类数组对象转化成数组对象的几种方法

    Array.prototype.slice.call(arguments) 原理是数组的slice()方法可以从已...

  • js中数组对象去重的方法

    采用数组中的reduce方法,遍历数组,也是通过对象访问属性的方法 参考js中数组对象去重的方法

  • JS基础-对象

    对象 类是对象的抽象,对象是类的实例。在js中一切皆为对象,如字符串、数字、数组等。在js中对象的本质:属性和方法...

  • js常用的遍历方法

    js原生用法数组类型 输出如下: 对象类型 输出如下: 类数组类型 输出如下: jQuery中$.each()方法...

  • Vue 数组相关

    1.如何对数组进行插入或删除splice Vue数组中存对象 关于绑定方法,方法里面传递对象数据 js中数组如何进...

  • ES6对数组的扩展

    Array.from() Array.from方法用于将“类数组”对象和“可迭代”对象转为真正的数组。 类数组对象...

  • es6数组拓展

    Array.from()该方法用于将类数组或者可遍历对象转化成数组 分析:对象里必须是连续的key值,并且需要le...

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

    大家好,我是前端西瓜哥,今天说一下 JS 的类数组对象是什么,以及如何将类数组对象转为数组。 类数组对象是什么? ...

  • JS中的对象、类、原型和原型链,以及.prototype和.__

    对象、类和原型 在JS中,万物皆对象,对象因为你的“关注”而产生。每个对象都有自己的属性特征和行为方法,函数、数组...

  • 某D的面试准备知识点

    js基础&es6 原生方法Array.prototypejoin() 方法将数组(或一个类数组对象)的所有元素连接...

网友评论

    本文标题:js中 类数组对象转化成数组对象的几种方法

    本文链接:https://www.haomeiwen.com/subject/mmmtkltx.html

    热点阅读