Array

作者: skills | 来源:发表于2017-11-02 12:00 被阅读8次

    Array

    1. length属性

    length属性是一个0到2的32次方减1的整数,length并不表示数组中定义值的个数,比如说:

    let arr = [1,2,3,4]
    arr.length = 5
    for( let key of arr) {
         console.log(key )
    }
    //结果
    1
    2
    3
    4
    undefined
    

    利用数组的length属性可以截断数组,比如:

    let numbers = [1,2,3,4,5]
    
    numbers.length = 4
    
    for (let key of numbers) {
        console.log(key)
    }
    
    // 结果
    1
    2
    3
    4
    

    2. Array.prototype

    Array.prototype表示Array构造函数的原型,并可以向所有Array对象添加新的属性和方法,比如添加一个新方法,返回这个数组的第一个元素的方法

    if (!Array.prototype.first) {
          Array.prototype.first = () =>{
                return this[0]
          }
    }
    

    实际上Array实例继承自Array.prototype,与所有的构造函数一样,我们可以更改构造函数的原型对象,对Ayyay实例进行更改。

    Array.prototype本身也是一个Array
    Array.isArray(Array.prototype) // true

    3. method

    3.1 Array.from()

    Array.from()方法是伪数组或可迭代的对象(包括arguments Array,Map,Set,String...)装换成数组对象 如:

    let str = 'dfasdf'
    console.log( Array.from(str) )
    //结果
    [ 'd', 'f', 'a', 's','d', 'f']
    

    Array.from()方法可以传三个参数

    Array.from(arrayLike, mapFn, thisArg)

    arrayLike: 要装换的伪数组或可迭代的对象

    mapFn : 可选参数,新数组中的每个元素都会执行这个函数

    thisArg : 可选参数,执行回调函数时的this对象

    let str = '234234324987877'
    Array.from(str, (item) => {
      if(parseInt(item) > 5) {
            console.log(item)
      }
    })
    // 结果
    9
    8
    7
    8
    7
    7
    
    3.2 Array.isArray()

    Array.isArray()用于确定传递的值是否是个Array
    如果传递的对象是一个Array则返回true, 否则 false

    相关文章

      网友评论

          本文标题:Array

          本文链接:https://www.haomeiwen.com/subject/hjyopxtx.html