var arr = [ 1, 2, 3, 4, 5, 4, 3, 2, 1 ];
新加位置的方法: indexOf lastIndexOf
1.1個參數的時候表示傳值 返回索引位置(index從0開始)
var index = arr.indexOf(4);
alert(index); //3
2. 2個參數的時候 第一個參數表示起始位置 第二個參數還是值
var index = arr.indexOf(4,4);
alert(index); //5
3.他們查找數組比較的時候 '==='
lastIndexOf
var index = arr.lastIndexOf(2);
alert(index); //7
5個新加迭代的方法
1.every :對於數組每一個元素進行一個函數的運行 如果都返回true 最後則返回true 如果有一個返回false最後結果則返回false
var result = arr.every(function(item , index , array){ return item >= 1 ; }); alert(result); //true
2.filter :對於數組的每一個元素進行一個函數的運行 給定的函數去執行 把過濾後的結果返回
var result = arr.filter(function(item , index , array){ return item > 2 ; }); alert(result); //3,4,5,4,3
3.forEach :循環數組每一項的值 並執行一個方法
arr.forEach(function(item, index, array){ alert(item); //1,2,3,4,5,4,3,2,1 });
4.map 對於數組的每一個元素進行一個函數的運行 可以經過函數執行完畢後 把新的結果返回
var result = arr.map(function(item, index, array){ return item*10; }); alert(result); //10,20,30,40,50,40,30,20,10
5.some :對於數組每一個元素進行一個函數的運行 如果有一項返回true 最後則返回true 如果每一項都返回false最後結果則返回false
var result = arr.some(function(item, index, array){ return item >5 ; }); alert(result); //false
reduce reduceRight
變量的起始位置不同
前一個值 , 當前值 , 索引位置 , array
var result = arr.reduce(function(prev , cur , index , array){ return prev + cur ; }); alert(result) //25; var result = arr.reduceRight(function(prev , cur , index , array){ return prev + cur ; }); alert(result) //25;
以上這篇JavaScript_ECMA5數組新特性詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持。