javascript 数组 内置函数

256 阅读3分钟
   Object.getOwnPropertyNames(Array)
   
   [ "length", "name", "prototype", "isArray", "from", "of" ]

  Object.getOwnPropertyNames(Array.prototype)
  
  [ "length", "constructor", "concat", "copyWithin", "fill",
  "find", "findIndex", "pop", "push","reverse", "shift", 
  "unshift", "slice", "sort", "splice","includes", "indexOf", "keys",
  "entries", "forEach", "filter","map", "every", "some", "reduce",
  "reduceRight", "toString","toLocaleString", "join", "lastIndexOf",
  "values", "flat", "flatMap" ]
  • concat()

      params 数组,任意个
      return 新数组
    

  • join() 把数组的所有元素放入一个字符串

      params 字符串
      return 字符串  返回传入参数连接的字符串
    

  • pop() ,push()

      params 空 ,字符串/ 对象
      return 删除的那个值,返回修改后的长度
    

  • shift() 和 unshift()

      params 字符串/ 对象
      return 返回修改后的长度
    

  • sort()

      params 空 / 函数
      return 返回修改后的数组,不新增数组
    

  • reverse()

      params 空
      return 返回修改后的数组,不新增数组
    

  • toString()

      params 空
      return 返回指定对象的逗号链接字符串形式
    

  • values()

      params 空
      return 返回数组的迭代器
    

  • valuesOf()

      params 空
      return 返回指定对象的原始值
    

  • slice() 选取数组的的一部分,并返回一个新数组

      params (起始位置, [结束位置])
      return 返回新数组
    

  • splice() 删除、插入和替换。

      删除
      params (起始位置, [删除的个数])
      return 返回删除的要素
    
    
      插入
      params (起始位置,0 ,插入的要素)
      return 返回空数组
      
      
      替换
      params (起始位置,替换的个数 ,插入的要素)
      return 返回空数组        
    

  • indexOf(), lastIndexOf() (ES5新增)

     params(要查找的要素, [查找的起始位置])
     return 查找到的位置索引 没找到 是 -1     
    

  • forEach() 对数组进行遍历循环 (ES5新增)

     params function
     return 空     
    

  • map() 对数组的每一项运行给定函数,返回每次函数调用的结果组成的数组 (ES5新增)

     params function
     return 新数组
    

  • filter() 过滤 返回满足过滤条件组成的数组 (ES5新增)

     params function
     return 新数组
    

  • every() 判断所有满足 对每个item条件判断 都满足返回true (ES5新增)

     params function
     return true|false
    

  • some() 判断有满足 对每个item条件判断 只要有一个true 返回true (ES5新增)

     params function
     return true|false
    

  • reduce(),reduceRight 归并方法 (ES5新增)

     params function(prev, curr, index, array), 初始prev
     return 迭代后的值
    

  • Array.isArray() 构造函数的静态方法 (ES5新增)

     params function(prev, curr, index, array), 初始prev
     return 迭代后的值
    

  • Array.from() 构造函数的静态方法 将类数组变为真数组 (ES6新增)

     params arrayLke, [function], [obj]
     return []
     任何有length属性的都被称为类数组 有迭代器的通过 扩转运算符转为数组
    

  • Array.of() 构造函数的静态方法 替代Array() 和 new Array的不足 (ES6新增)

     params 数组要素
     return 新数组
    

  • copyWithin() (ES6新增)

     [].copyWithin(target, start=0,end=this.length)
     params 修改要素索引, 替换要素开始位置, 替换要素长度
     return 返回原数组
    

  • fill() (ES6新增)

     array.fill(target, [start = 0, end = this.length]);
     params 填充的要素, 起始索引, 终止索引
     return 返回原数组
    

  • includes() (ES6新增)

     params 查找要素, 起始索引
     return true | false
    

  • entries(),keys(), values() (ES6新增)

     params 空
     return Array Iterator {} 返回遍历器
    

  • find(), findIndex() 找出第一个符合条件的 (ES6新增)

     params function [对象]
     return 第一个item | undefined | -1
    
        function f(v){
          return v > this.age; // this 指向person
        }
        let person = {name: 'John', age: 20};
        [10, 12, 26, 15].find(f, person);
    

  • flat() 多为数组降维, faltMap() map 之后降维 (ES6新增)

    params 数字 降的维度,默认是1
    return 返回新数组