Js中伪数组转数组的方法

为什么要将伪数组转为真数组?

  • 目的:为了让它能够调用数组的API

代码如下

        var fakeArr = {
            0: 'boJack',
            1: 'Diane',
            2: 'Todd',
            3: 'peanut',
            4: 'cat',
            length: 5
        };
  1. 遍历循环push
    声明空数组,遍历伪数组添加到空数组中
        var arr = [];
        for (var i = 0; i < fakeArr.length; i++) {
            arr.push(fakeArr[i]);
        };
        console.log(arr);//['boJack','Diane','Todd','peanut','cat']
  1. apply
    利用apply传参可以把所有参数放到数组或伪数组中,自动遍历来赋值给形参
        var arr = [];
        arr.push.apply(arr, fakeArr);// arr.push(fakeArr[0],fakeArr[1],fakeArr[2],fakeArr[3]);
        console.log(arr);//['boJack','Diane','Todd','peanut','cat']
  1. slice()
    slice(start,end),返回start到end之间的元素,可以返回数组自身
        var arr = Array.prototype.slice.apply(fakeArr);//直接调用原型中的slice方法,将默认this指向自身
        console.log(arr);//['boJack','Diane','Todd','peanut','cat']
  1. concat
    concat连接数组,不会修改原来数组(浅复制)
        var arr = [];
        arr = arr.concat.apply(arr,weiArr);
        console.log(arr);//['boJack','Diane','Todd','peanut','cat']

你可能感兴趣的:(Js中伪数组转数组的方法)