<html>
<head>
<title>004_ECMA5</title>
<script type="text/javascript" charset="utf-8">
//indexOf lastIndexOf方法查询位置的方法。
/*
//该方法传入参数是数组中的值,返回改制所在的位置。
var arr=[1,2,3,4,5,4,3,2,1];
//var index=arr.indexOf(4);
//两个参数的时候,第一个参数表示起始位置,第二个参数还是值。
var index=arr.indexOf(4,4);
//它们比较的时候比较的是 "==="
alert(index);
*/
/*
//lastIndexOf方法,是从后面往前面找看看是否有这个方法。
var arr=[1,2,3,4,5,4,3,2,1];
var index=arr.lastIndexOf(2);
alert(index);
*/
var arr=[1,2,3,4,5,4,3,2,1];
//五个新加迭代的方法
//every 对数组的每一元素进行一个函数的运行,如果都是返回true,最后则返回true,如果有一个
//返回false,那么结果返回false。
/*
var result=arr.every(function(item,index,array){//在function中有三个回调项,第一个是数组的每一项,第二个是每一项的索引位置,第三个是这个数组
return item>2;//如果说每一项都大于2的话就会返回true
});
alert(result);
*/
//filter 对于数组的每一个元素进行一个函数的运行,给定的函数去执行 把过滤后的结果返回。
/*
var result=arr.filter(function(item,index,array){
return item>2;
});
alert(result);//3,4,5,4,3
*/
//forEach 循环数组每一项的值,并执行下一个方法。
/*
arr.forEach(function(item,index,array){
alert(item);
});
*/
//map 对于数组的每一个元素进行一个函数的运行,可以经过函数执行完毕后 把新的结果返回
/*
var result=arr.map(function(item,index,array){
return item*2;
})
alert(result);//2,4,6,8,10,8,6,4,2
*/
//some 对数组的每一元素进行一个函数的运行,如果有一项返回true,最后则返回true,如果每一项
//都返回false,那么结果返回false。
/*
var result = arr.some(function(item,index,array){
return item>=5;
});
alert(result);//true
*/
//reduce reduceRight方法
//前一个值 当前值 索引位置 数组本身
var result = arr.reduce(function(prev,cur,index,array){//该方法从左遍历
return prev+cur;
});
alert(result);//25 将通过遍历将之全部加起来。
var result2 = arr.reduceRight(function(prev,cur,index,array){//该方法从右遍历
return prev+cur;
});
alert(result2);//25
</script>
</head>
<body>
</body>
</html>