下面小編就為大家?guī)硪黄狫avaScript_ECMA5數(shù)組新特性詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。
var arr = [ 1, 2, 3, 4, 5, 4, 3, 2, 1 ];
新加位置的方法: indexOf lastIndexOf
1. 1個參數(shù)的時候表示傳值 返回索引位置(index從0開始)
var index = arr.indexOf(4);
alert(index); //3
2. 2個參數(shù)的時候 第一個參數(shù)表示起始位置 第二個參數(shù)還是值
var index = arr.indexOf(4,4);
alert(index); //5
3.他們查找數(shù)組比較的時候 '==='
lastIndexOf
var index = arr.lastIndexOf(2);
alert(index); //7
5個新加迭代的方法:
1.every :對于數(shù)組每一個元素進行一個函數(shù)的運行 如果都返回true 最后則返回true 如果有一個返回false最后結(jié)果則返回false
var result = arr.every(function(item , index , array){
return item >= 1 ;
});
alert(result); //true
2.filter :對于數(shù)組的每一個元素進行一個函數(shù)的運行 給定的函數(shù)去執(zhí)行 把過濾后的結(jié)果返回
var result = arr.filter(function(item , index , array){
return item > 2 ;
});
alert(result); //3,4,5,4,3
3.forEach :循環(huán)數(shù)組每一項的值 并執(zhí)行一個方法
arr.forEach(function(item, index, array){
alert(item); //1,2,3,4,5,4,3,2,1
});
4.map 對于數(shù)組的每一個元素進行一個函數(shù)的運行 可以經(jīng)過函數(shù)執(zhí)行完畢后 把新的結(jié)果返回
var result = arr.map(function(item, index, array){
return item*10;
});
alert(result); //10,20,30,40,50,40,30,20,10
5.some :對于數(shù)組每一個元素進行一個函數(shù)的運行 如果有一項返回true 最后則返回true 如果每一項都返回false最后結(jié)果則返回false
var result = arr.some(function(item, index, array){
return item >5 ;
});
alert(result); //false
reduce reduceRight
變量的起始位置不同
前一個值 , 當(dāng)前值 , 索引位置 , 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數(shù)組新特性詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考