美文网首页
javaScript引用类型之Array

javaScript引用类型之Array

作者: 牛油果大虾 | 来源:发表于2018-04-25 16:08 被阅读9次

    总结<js高级教程>Array常用的18个api

    • 栈方法(LIFO数据结构--last in first out 最新添加的项最早被移除)
      1 .push()接受任务数量参数,把他们逐个添加到末尾,返回修改后数组的长度
      2 .pop()方法从末尾移除一项,减少数组length值,返回移除的项
    image.png
    • 队列方法(FIFO--先进先出)
      3 .shift()移除数组第一项,返回插入的项--对立pop()
      4 .unshift()插入元素在数组前,返回新数组长度--对立push()

      image.png
    • 重排序方法
      5 .reverse()反转数组顺序
      6 . sort()升序排序
      注意:sort排序有时会出错,例如[0,1,5,10,15]排序后[0,1,10,15,5],原因是sort会把数组每一项转成字符串后比较=>为啥"10" < "5"???
      排序推荐用

    function compare(value1,value2) {
      if (value1 < value2){
        return -1;
     } else if (value1 > value2) {
        return 1;
    } else {
      return 0;
    }
    
    reverse()和sort()返回进过排序的数组,会改变原数组
    
    • 操作方法
      7 .concat()如果传递的值是一或多个数组,该方法会将数组中每一项添加到结果数组中.如果传递的不是数组,则添加到结果数组的结尾返回新数组,不改变原数组.
      image.png
      8 .slice()接受一或两个参数,表示起始位置,如果为1个则末尾为最后一个返回新数组,不改变原数组,可传入负数.
      image.png
      9 .splice()用于向数组中插入项,有三种用法返回从原始数组中删除的项,如果没删除返回空数组,改变了原数组
      删除:两个参数--(第一项的位置 , 删除的个数);
      插入:三个参数--(起始位置 ,0(要删除的项), 要插入的项(如有多个可添加四五及多个项))
      替换:三个参数--(起始位置 ,1(要删除的项数), 要插入的项(如有多个可添加四五及多个项))
      image.png
    • 位置方法
      10 .indexOf()
      11 .lastIndexOf()``返回所查元素下标,查不到返回-1,不改变原数组
      都两个参数--(要查找的内容,查找的起始位置(可选,默认0))
      image.png
      image.png
      由上图知不包含当前位置元素
    • 迭代方法
      12 .every()对数组中的每一项给定函数,如果函数的每一项都返回true,则返回true.
      image.png
      13 .filter()对数组中的每一项运行给定函数,返回该函数返回true项组成的数组.
      image.png
      14 .forEach()对数组中的每一项运行给定函数,无返回值.
      本质上与for循环迭代一样
      15 .map对数组中的每一项运行给定函数,返回函数调用结果组成的数组.
      image.png
      16 .some对数组中的每一项运行给定函数,若任一项返回true则返回true
      image.png
      以上方法都不修改数组的值
    • 归并方法
      17 .reduce()
      18 .reduceRight()迭代数组所有项,返回最终值
      两个参数--(一个函数(该函数接受四个参数pre,cur,index,array),初次迭代的项(可选));
      image.png
      image.png
      image.png

    两个的不同就是从哪头开始遍历,其余完全相同

    改变原数组的有 push,pop,shift,unshift,reverse,sort,splice七个

    不改变的有concat,slice,indexOf,lastIndexOf,every,filter,some,forEach,map,reduce,reduceRight 十一个

    相关文章

      网友评论

          本文标题:javaScript引用类型之Array

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