资讯专栏INFORMATION COLUMN

面试--将类数组转化为数组

codeGoogle / 1033人阅读

摘要:什么是类数组拥有属性也拥有索引但是没有数组具有的方法。常见的类数组和的方法返回的结果的筛选对的改变会改变函数的参数将类数组转化为数组转化为数组之后就能调用使用最原生的方法使用一个新的数组使用使用的新方法将类数组转化为数组

什么是类数组

拥有length属性 也拥有索引 但是没有数组具有的方法。
常见的类数组: arguments和DOM的方法返回的结果 class tag的筛选

arguments

对arguments的改变会改变函数的参数

 function removeDuplicate(x,y) {
          console.log(x);  //1
        arguments[0]=4;
        console.log(x)   //4
    }
    console.log(removeDuplicate(1,2,3))
将类数组转化为数组

转化为数组之后 就能调用shift unshift splice concat reverse sort
1、使用最原生的方法 使用一个新的数组

  var ss=document.getElementsByTagName("div");
      var res=[];
      for(var i=0;i

2、使用Array.prototype.slice.call(ArrayLike);

  var ss=document.getElementsByTagName("div");
     ss=Array.prototype.slice.call(ss);
    console.log(Object.prototype.toString.call(ss).slice(8,-1));//Array

3、使用es6的 新方法 Array.from(arr) 将类数组arr转化为数组

 var ss=document.getElementsByTagName("div");
      var res=[];
       res=Array.from(ss)
    console.log(res);//Array

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/85177.html

相关文章

  • JS之数组的几个不low操作(3)

    摘要:序列文章面试之函数面试之对象前言本文主要从应用来讲数组的一些骚操作如一行代码扁平化维数组数组去重求数组最大值数组求和排序对象和数组的转化等上面这些应用场景你可以用一行代码实现扁平化维数组终极篇是扁平数组的表示维度值为时维度为无限大开始篇实质 showImg(https://segmentfault.com/img/bVbpRMS?w=1858&h=1286); 序列文章 JS面试之函数...

    fish 评论0 收藏0
  • Slice无参调用可以将类数组对象(含有length属性)转化数组

    摘要:首先,有两个用法,一个是一个是,第一个返回的是字符串,第二个返回的是数组,这里我们看第个。最后,附个转成数组的通用函数据说这样比快 Array.prototype.slice.call(arguments) 根据call的使用方法,我们可以猜测以下可能相等: [].slice.call(arguments) => arguments.slice() 我带着好像少了一个必需参数的疑问去...

    MudOnTire 评论0 收藏0
  • JS 之数组的几个经典api

    摘要:一扁平化嵌套数组展平和阵列孔实现效果方法删除数组中的空槽该方法创建一个新数组,所有子数组元素以递归方式连接到指定的深度。深度级别指定嵌套数组结构应该展平的深度。方法解读该方法的实质是利用递归和数组合并方法实现扁平。是将类数组转化为数组。 本文主要来讲数组api的一些操作,如简单实现扁平化n维数组、数组去重、求数组最大值、数组求和、排序、对象和数组的转化等。 一、 扁平化嵌套数组/展平和...

    陈江龙 评论0 收藏0
  • 把玩 JavaScript 中的 bind

    摘要:此模式调用函数的时候,被绑定到全局对象。构造器调用模式如果在一个函数前面带上来调用,那么背地里将会创建一个连接到该函数的成员的新对象,同时会被绑定到新对象上。 前言 今天闲着无聊随便逛了逛MDN,忽而看到一个方法Function.prototype.bind(),突然发现除了使用这个方法之外都没有仔细琢磨过这个方法。于是乎,找到了kill time的事情-写博客。 基础知识简介 ...

    shenhualong 评论0 收藏0
  • 2018年前端面试题(秋季面试随意整理的)

    摘要:也就是说定义的引用类型只要指针不发生改变,其他的不论如何改变都是允许的。把数组中的所有元素放入一个字符串。这两个方法的用途都是在特定的作用域中调用函数,实际上等于设置函数体内的对象的值。是使用还是要看具体的情况。 1.html和css 引入 css 有哪几种方式 1.使用标签,引入外部CSS文件(1.通过@import,引入CSS文件(性能较差) 2.将css的样式代码放在html文档...

    xiaoqibTn 评论0 收藏0

发表评论

0条评论

codeGoogle

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<