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    

 

posted @ 2018-12-10 14:30  zmztyas  阅读(184)  评论(0编辑  收藏  举报