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