Js将类数组转化为数组

时间:2022-11-23 06:41:35

说起伪数组,大家可能会想到arguments, 这个我们函数参数的一个类数组,是类数组的代表。

1.拥有length属性,可以使用下标来访问元素,这两点和数组相同。

2.不能使用数组的方法,他们不能使用Array的方法。

我们有一种需求就是把类数组对象转化为数组对象,下面我们看一下这些方法。

1.创建新数组,把类数组的元素添加到新数组中,大家都会我就不写了

2.通过Array.prototype.slice.call()将类数组对象传入即可。

//模拟slice的内部实现
Array.prototype.slice = function (start,end) {
    let arr = [];
    let start = start || 0;
    let end = end || this.length;

    for(let i=start; i<end; i++){
        arr[i] = this[i];
    }
    return arr;
}

就相当于把参数全部截取,然后返回成一个新数组

3.es6中的新方法Array.form()

Array.form(arguemtns)