在JavaScript中如何将类数组对象转为真实数组

in 编程
关注公众号【好便宜】( ID:haopianyi222 ),领红包啦~
阿里云,国内最大的云服务商,注册就送数千元优惠券:https://t.cn/AiQe5A0g
腾讯云,良心云,价格优惠: https://t.cn/AieHwwKl
搬瓦工,CN2 GIA 优质线路,搭梯子、海外建站推荐: https://t.cn/AieHwfX9

1.JavaScript中有哪些类数组对象(伪数组)

(1)arguments 函数的实参

function test() {
    return arguments;
}
let arg = test(1,4,7,4,3,6,4);
console.log(arg);
    

(2)set 结构

new Set([2,5,6,3,4,3,6,6]);

(3)nodeList

document.getElementsByTagName('div');

2.将类数组对象转为真实数组(以上文arguments对象为例, arg)

(1)遍历类数组元素, 并push进一个新数组

let newArr = [];
for(let i=0; i<arg.length; i++) {
    newArr.push(arg[i]);
}

(2)数组实例上的slice方法, 在不接受任何参数的情况下是复制一个数组, 再利用call(或apply)调用slice方法, 可以实现将类数组对象转为真实数组

Array.prototype.slice.call(arg);
[].slice.call(arg);

(3)Array.from()方法, 可以将任何具有length属性的对象转为数组

Array.from(arg);

(4)扩展运算符..., 可以将所有布署了Iterator接口的对象转为数组

[...{length: 3}];

(5)jQuery的核心方法$.makeArray()

$.makeArray(arg);
关注公众号【好便宜】( ID:haopianyi222 ),领红包啦~
阿里云,国内最大的云服务商,注册就送数千元优惠券:https://t.cn/AiQe5A0g
腾讯云,良心云,价格优惠: https://t.cn/AieHwwKl
搬瓦工,CN2 GIA 优质线路,搭梯子、海外建站推荐: https://t.cn/AieHwfX9
扫一扫关注公众号添加购物返利助手,领红包
Comments are closed.