zoukankan      html  css  js  c++  java
  • javascript 之 数组

    定义:var colors=new Array();

      var colors=new Array(3);

      var colors=new Array('red');

      var colors=['red','green'];

    检测数组:

      if (value instanceof Array) :假定只有一个全局执行环境。具体是不同框架有不同的定义

      Array.isAarry(value): ie9+,firefox4+,safari5+, opera10.5+

    数组转换:所有对象都具有toLocaleString(),toString() 和valueOf();

      colors.toString();//red,blue,green ,上诉三个方法都是这样调用

      与 colors.join(',')效果一致。

    栈方法:LIFO(Last-In-First-Out 后进先出) :最新添加的项最早被移除

      push():在数组末尾添加该项

      pop():在数组末尾移除最后项

    队列方法:FIFO(First-In-First-Out先进先出) :在队列的末端添加项,从列表的前端移除项

      shift() :移除数组中的第一项

      unshift() :在数组前端添加任意个项

    排序方法:

      values.sort();

      values.reverse();

    操作方法:

      concat():可以基于当前数组中的所有项创建一个新的数组

    例:var colors=[red,green]

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

      alert(colors2.toString()) ;// red,green,yellow,black,brown

    最强大的数组方法:splice() 主要用途是向数组的中部插入项

      删除:可删除任意数量的项,需指定两个参数:要删除的第一项的位置和要删除的项数

      例:splice(0,2)

      插入:可向指定的位置插入任意数量的项 ,需提供多个参数:起始位置,插入(删除)多少项,项值(....)

      例:splice(2,0,red,green) 从位置2开始插入两项

      替换:可向指定的位置插入任意数量的项,且同时删除任意数量的项,需指定三个参数:起始位置,要删除和插入的任意项

      例:splice(2,1,red,green),会删除位置2的项,从位置2开始插入两项

    位置方法:

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

      lastIndexOf():从数组后面开始向前查找

      需要注意兼容:ie9+,firefox2+,safari3+等

    迭代方法:定义了5个迭代方法

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

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

      例: var everyResult=numbers.every(function( item,index,array){ return (item>2) }) //返回false

      some():对数组中的每一项运行给定函数,有一项返回true,则返回true;

      例: var someResult=numbers.some(function( item,index,array){ return (item>2) }) //返回true

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

      例:var filterResult=numbers.filter(function( item,index,array){ return (item>2) }) //返回 {3,4,5,4,3}

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

      例:var mapResult=numbers.map(function( item,index,array){ return (item*2)}) //返回{2,4,6,8,10.8.6.4.2}

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

           例:var numbers.forEach(function(item,index,array){  }) //本质于for循环一样

    归并方法:迭代数组的所有项,然后构建一个最终返回的值

           reduce():从数组的第一项开始,逐个遍历到最后

           reduceRight():从数组的第一项开始,向前遍历到第一项

          都接收四个参数:前一个值,当前值,项的索引,和数组对象

          例:var values=[1,2,3,4,5]

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

           分析:第一轮:prev 1,cur 2,第二轮: prev 3,cur 3    

  • 相关阅读:
    MyBatis热部署
    FreeMarker速查手册
    SpringBoot从Eclipse添加的Tomcat容器中启动
    Delphi中的GetEnumName和GetEnumValue的使用方法
    [数据库连接字符串] Access 连接字符串
    [数据库连接字符串] Access 连接字符串
    Ms SQLServer中的Union和Union All的使用方法和区别
    Ms SQLServer中的Union和Union All的使用方法和区别
    RasAPI函数实现PPPOE拨号
    RasAPI函数实现PPPOE拨号
  • 原文地址:https://www.cnblogs.com/zmztya/p/10096304.html
Copyright © 2011-2022 走看看