zoukankan      html  css  js  c++  java
  • js中将类数组转换为数组的几种方法

    1.slice方法

    最经典的方法,使用Array的slice方法,此方法如果不传参数的话会返回原数组的一个拷贝,因此可以用此方法转换类数组到数组;

    // 创建一个类数组对象
    var alo = {0:"a", 1:"b",2:"c", length:3};
    
    // 转化
    var arr = Array.prototype.slice.call(alo);
    
    console.log(
        Array.isArray(alo) // false
    )
    
    console.log(
        Array.isArray(arr) // true
    )
    
    console.log(alo); // { '0': 'a', '1': 'b', '2': 'c', length: 3 }
    console.log(arr); // [ 'a', 'b', 'c' ]

    2. Array.from()

    是ES6中的方法,用于将类数组转换为数组。

    let arrayLike = {
        '0': 'a',
        '1': 'b',
        '2': 'c',
        length: 3
    };
    
    // ES5的写法
    var arr1 = [].slice.call(arrayLike); // ['a', 'b', 'c']
    
    // ES6的写法
    let arr2 = Array.from(arrayLike); // ['a', 'b', 'c']

    只要有length属性的对象,都可以应用此方法转换成数组。

    3. 扩展运算符

    ES6中的扩展运算符...也能将某些数据结构转换成数组,这种数据结构必须有便利器接口。

    扩展运算符背后调用的是遍历器接口(Symbol.iterator),如果一个对象没有部署这个接口,就无法转换。

    var args = [...arguments];

    4. $.makeArray()

    jQuery的此方法可以将类数组对象转化为真正的数组

    var arr = $.makeArray(arguments);
  • 相关阅读:
    电视盒子通过adb安装第三方应用
    采用网闸隔离的内外网如何进行数据的即时交互?
    数据结构-python-二叉树
    Python+uiautomator2写安卓手机脚本前期准备
    centos6.5离线rpm安装mysql
    centos7 nginx 启动脚本
    zabbix简单改造为免密登陆
    vue生命周期函数
    mysql 深入问题了解
    9. 回文数.py
  • 原文地址:https://www.cnblogs.com/Super-scarlett/p/7125831.html
Copyright © 2011-2022 走看看