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

    js中将类数组转换为数组的几种方法

    一、总结

    一句话总结:

    1、Array的slice方法,例如:Array.prototype.slice.call(arguments);
    2、Array.from(),例如:let arr = Array.from(arguments);3、
    3、扩展运算符...,例如:let arr = [...arguments];
    4、jquery的$.makeArray(),例如:let arr = $.makeArray(arguments);

    1、Array的slice方法将类数组对象转换成数组?

    a、let arr = Array.prototype.slice.call(arguments);
    b、let arr1 = [].slice.call(arguments);
    //1、slice方法
    function f1() {
      console.log(arguments);
      //console.log(arguments instanceof Array);
      //console.log(arguments instanceof Object);
    
      let arr = Array.prototype.slice.call(arguments);
      console.log(arr);
      let arr1 = [].slice.call(arguments);
      console.log(arr1);
    }
    f1(1,32,43,4);

    2、Array.from()方法 将类数组对象转换成数组?

    let arr = Array.from(arguments);
    //2、Array.from()
    function f1() {
      console.log(arguments);
    
      let arr = Array.from(arguments);
      console.log(arr);
    
    }
    f1(1,32,43,4);

    3、扩展运算符... 将类数组对象转换成数组?

    let arr = [...arguments];
    //3、扩展运算符...
    function f1() {
      console.log(arguments);
    
      let arr = [...arguments];
      console.log(arr);
    }
    f1(1,32,43,4);

    4、jquery的$.makeArray() 将类数组对象转换成数组?

    let arr = $.makeArray(arguments);
    //4、jquery的$.makeArray()
    function f1() {
      console.log(arguments);
    
      let arr = $.makeArray(arguments);
      console.log(arr);
    }
    f1(1,32,43,5);

    二、js中将类数组转换为数组的几种方法

    转自或参考:js中将类数组转换为数组的几种方法_JavaScript_(づ。◕‿‿◕。)づgigi奋斗在前端和刷题中╮(╯﹏╰)╭-CSDN博客
    https://blog.csdn.net/crystal6918/article/details/60467615

    slice

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

    var arr = Array.prototype.slice.call(arguments);
    
    //等同于
    
    var arr = [].slice.call(arguments)

    Array.from()

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

    var arr = Array.from(arguments);

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

    扩展运算符

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

    var args = [...arguments];

    $.makeArray()

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

    var arr = $.makeArray(arguments);
     
     
     
     
     
  • 相关阅读:
    浅谈块元素绝对定位的margin属性
    因浏览器而异的空白节点(js清除空白节点)
    区分中英文字符的两种方法
    js中 visibility和display的区别 js中 visibility和display的区别
    观察者模式
    单例模式
    mongodb
    javascript的加载、解析、执行对浏览器渲染的影响
    EM算法原理
    YARN
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/12675863.html
Copyright © 2011-2022 走看看