• 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    

  • 相关阅读:
    8款最新CSS3表单 环形表单很酷
    8款给力HTML5/CSS3应用插件 可爱的HTML5笑脸
    分享10款效果惊艳的HTML5图片特效
    9款极具创意的HTML5/CSS3进度条动画
    分享9款最新超酷HTML5/CSS3应用插件
    7款HTML5精美应用教程 让你立即爱上HTML5
    (转)整理 node-sass 安装失败的原因及解决办法
    分析Vue框架源码心得
    Vue中的render函数随笔
    微信小程序商业级实战
  • 原文地址:https://www.cnblogs.com/zmztya/p/10096304.html
Copyright © 2020-2023  润新知