• javascript Array method总结


    0.创建

      Javascript创建数组的基本方式有两种。第一种是使用Array构造函数。

      var colors = new Array();

      var colors = new Array(20);

      var colors = new Array("red","blue","green");

      另外一种是省略掉new符号:

      var colors  = Array(3);

      var colors = Array("Greg");

    1.检测数组

      if(value instanceOf Array){}

      if(Array.isArray(value)){}

    2.转换方法

      toLocalString() 把数组转换为本地数组,并返回结果。

      toString() 把数组转换为字符串,并返回结果。

      valueOf() 返回数组对象的原始值。

      join() 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。

      示例:

      var colors = ["red", "blue", "green"];

      console.log(colors.toString());            //red,blue,green

      console.log(colors.valueOf());             //["red", "blue", "green"]

      console.log(colors);                          //["red", "blue", "green"]

      console.log(colors.join(","));              //red,blue,green

      console.log(colors.join("||"));            //red||blue||green

    3.栈方法

      push() 向数组的末尾添加一个或更多元素,并返回新的长度。

      pop() 删除并返回数组的最后一个元素。

      示例:

      var colors = new Array();

      var count = colors.push("red", "green");

      console.log(count);                             // 2

      count = colors.push("black");

      console.log(count);                            //3

      var item = colors.pop();

      console.log(item);                             //black

      conosole.log(colors);                         //["red", "green"]

    4.队列方法

      shift() 删除并返回数组的第一个元素。和push()一起组成数组的前端删除,末端插入的队列。

      unshift() 向数组的开头添加一个或更多元素,并返回新的长度。与pop()一起组成前端插入,末端删除的队列。

      示例:

      var colors = new Array();

      var count = colors.push("red", "green");

      console.log(count);                   // 2

      var  item = colors.shift();

      console.log(item);                    //red

      console.log(colors);                 //["green"]

      var count = colors.unshift("red", "blue");

      console.log(count);                 //3

      console.log(colors);                //["red", "blue", "green"]

    5.重排序方法

      reverse() 颠倒数组中元素的顺序。

      sort() 对数组的元素进行排序。

      示例:

      var values = [1,2,3,35,5];

      values.reverse();

      console.log(values); //[5, 35, 3, 2, 1]

      values.sort();

      console.log(values); //[1, 2, 3, 35, 5]

      function compare(v1,v2){

        if(v1 < v2)return -1;

        else if(v1 > v2) return 1;

        else return 0;

      }

      values.sort(compare);

      console.log(values); //[1, 2, 3, 5, 35]

    6.操作方法

      concat() 连接多个数组。

      slice() 基于当前数组中的一个或多个项创建新数组。

      splice() 向数组中部插入项。

      示例:

      var colors = ["red","green","blue"];

      var colors2 = colors.concat("yellow", ["black", "brown"]);

      console.log(colors);      //["red", "green", "blue"]

      console.log(colors2);    //["red", "green", "blue", "yellow", "black", "brown"]

      var colors3 = colors2.slice(1);

      var colors4 = colors2.slice(1,2);

      console.log(colors3);   //["green", "blue", "yellow", "black", "brown"]

      console.log(colors4);   //["green"]

      //splice删除

      var removed = colors2.splice(0,2);

      console.log(removed);   //["red", "green"]

      console.log(colors2);     //["blue", "yellow", "black", "brown"]

      //splice插入

      var inserter =  colors2.splice(1, 0, "orange", "purple");

      console.log(inserter);    //[]

      console.log(colors2);    //["blue", "orange", "purple", "yellow", "black", "brown"]

      //splice替换

      var replacer = colors.splice(1, 1, "red", "green");

      console.log(replacer);    //["orange"]

      console.log(colors2);     //["blue", "red", "green", "purple", "yellow", "black", "brown"]

    7.位置方法

      indexOf() 从数组开头开始向后查找。

      lastIndexOf() 从数组的末尾开始向前查找。

      示例:

      var colors = ["red", "green", "blue", "black", "green", "black"];

      console.log(colors.indexOf("green"));            //1

      console.log(colors.indexOf("green", 2));        //4

      console.log(colors.lastIndexOf("green"));      //4

      console.log(colors.lastIndexOf("green", 3));  //1

      console.log(colors.indexOf("yellow"));           //-1

    8.迭代方法

      every() 对数组中的每一项运行给定的函数,如果函数的每一项都返回true,则返回true。

      filter() 对数组中的每一项运行给定的函数,返回该函数返回为true的项组成的新数组。

      forEach() 对数组中的每一项运行给定的函数。这个方法没有返回值。

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

      some() 对数组中的每一项运行给定的函数,如果函数对任一项返回true,则返回true。

      示例:

      var numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];

      var everyResult = numbers.every(function(item, index, array){return item > 2;});

      console.log(everyResult); //false

      var someResult = numbers.some(function(item, index, array){return item > 2;});

      console.log(someResult); //true

      var filterResult = numbers.filter(function(item, index, array){return item > 2;});

      console.log(filterResult); //[3, 4, 5, 4, 3]

      var mapResult = numbers.map(function(item, index, array){return item *2;});

      console.log(mapResult); //[2, 4, 6, 8, 10, 8, 6, 4, 2]

      console.log(numbers); //[1, 2, 3, 4, 5, 4, 3, 2, 1]
      numbers.forEach(function(item, index, array){item+2;});

    9.归并方法

      ECMAScript5新增的方法:

      reduce() 迭代数组中的每一项,然后构建最终的返回值。从第一项开始。

      reduceRight() 迭代数组中的每一项,然后构建最终的返回值。从最后一项开始。

      示例:

      var values = [1,2,3];

      var sum = values.reduce(function(prev, cur, index, array){return prev+cur;});

      console.log(sum);   //6

      var sumRight = values.reduceRight(function(prev, cur, index, array){return prev+cur;});

      console.log(sumRight );   //6

    ----完

  • 相关阅读:
    CSP2019-S2总结
    #期望dp#洛谷 6835 [Cnoi2020]线形生物
    #树状数组,概率,离散,双指针#洛谷 6834 [Cnoi2020]梦原
    #容斥,倍数,排列组合#洛谷 2714 四元组统计
    #莫队,bitset#洛谷 3674 小清新人渣的本愿
    #贪心#洛谷 3173 [HAOI2009]巧克力
    #树链剖分,LCA#洛谷 3398 仓鼠找sugar
    #树状数组,哈希#洛谷 6687 论如何玩转 Excel 表格
    小甲鱼Python第八讲课后习题
    小甲鱼Python第七讲课后习题
  • 原文地址:https://www.cnblogs.com/zhutianpeng/p/4262974.html
Copyright © 2020-2023  润新知