zoukankan      html  css  js  c++  java
  • es6中数组扩展

    在Javascript中什么是伪数组?如何将伪数组转化为标准数组?

    无法直接调用数组方法或期望length属性有什么特殊的行为,不具有数组的push,pop等方法,但仍可以对真正数组遍历方法来遍历它们。
    典型的是函数的argument参数,还有像调用getElementsByTagName,document.childNodes之类的,它们都返回NodeList对象都属于伪数组。
    可以使用Array.prototype.slice.call(fakeArray)将数组转化为真正的Array对象。


    伪数组定义
    • 拥有length属性,其它属性(索引)为非负整数(对象中的索引会被当做字符串来处理,这里你可以当做是个非负整数串来理解)
    • 不具有数组所具有的方法
    • 伪数组是一个 Object, 而真实的数组是一个 Array

    es5中如何将伪数组转化为真数组
    Array.prototype.slice.call(arguments)
    // 或
    [].slice.call(arguments) 
    
    
    es6中如何将伪数组转化为真数组
    
    

     

      arr.includes() 判断数中是否包含给定的值

    let arr = [1,2,3,4,5]
    let arr1 = arr.includes(2)  
    console.log(arr1)   // ture
    let arr2 = arr.includes(9) 
    console.log(arr2)    // false
    let arr3 = [1,2,3,NaN].includes(NaN)
    console.log(arr3)  // true
    
    与indexOf()的区别:
    1 indexOf()返回的是数值,而includes()返回的是布尔值
    2 indexOf() 不能判断NaN,返回为-1 ,includes()则可以判断
     
     
    arr.fill(target, start, end) 使用给定的值,填充一个数组,ps:填充完后会改变原数组
      参数: target -- 待填充的元素
          start -- 开始填充的位置-索引
             end -- 终止填充的位置-索引(不包括该位置)
    let arr = [1,2,3,4,5]

    let arr1 = arr.fill(5)
    console.log(arr1)  // [5, 5, 5, 5, 5]
    console.log(arr)   // [5, 5, 5, 5, 5]

    let arr2 = arr.fill(5,2)
    console.log(arr2)    // [1, 2, 5, 5, 5]

    let arr3 = arr.fill(5,1,3)
    console.log(arr3)      //[1, 5, 5, 4, 5]
    arr.copyWithin() 在当前数组内部,将制定位置的数组复制到其他位置,会覆盖原数组项,返回当前数组
      参数: target --必选 索引从该位置开始替换数组项
          start --可选 索引从该位置开始读取数组项,默认为0.如果为负值,则从右往左读。
          end --可选 索引到该位置停止读取的数组项,默认是Array.length,如果是负值,表示倒数
    let arr = [1,2,3,4,5,6,7]
    let arr1 = arr.copyWithin(1)
    console.log(arr1)   // [1, 1, 2, 3, 4, 5, 6]
    let arr2 = arr.copyWithin(1,2)
    console.log(arr2)   // [1, 3, 4, 5, 6, 7, 7]
    let arr3 = arr.copyWithin(1,2,4)
    console.log(arr3)   // [1, 3, 4, 4, 5, 6, 7]

     Array.of() 将一组值转换成数组,类似于声明数组    ---es6

    let str = '11'
    console.log(Array.of(str))   // ['11']
    
    
    
    
    
  • 相关阅读:
    selenium---常用元素等待的三种方法
    selenium---浏览器操作方法
    selenium---xpath轴定位
    requests---通过file_data方法请求yaml数据
    pywinauto客户端自动化---模拟键盘操作
    pywinauto客户端自动化---模拟鼠标操作
    开发摆摊网心理路程
    解决MVC提示未能加载文件或程序集“System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或它的某一个依赖项。
    ATH9K驱动支持2MHz,2.5Mhz,1Mhz等工作带宽
    javax.validation 参数验证
  • 原文地址:https://www.cnblogs.com/ddqyc/p/13531862.html
Copyright © 2011-2022 走看看