1. 程式人生 > >javascript 之 數組

javascript 之 數組

eve 基於 最新 -o mapr arr asc java tin

定義: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

javascript 之 數組