•对于ECMAscript5这个版本的Array新特性补充:
–位置方法:indexOf lastIndexOf
–迭代方法:every filter forEach some map
–缩小方法:reduce reduceRight
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript" charset="utf-8"> var arr = [1,2,3,4,5,4,3,2,1]; //新加位置地方法:indexOf lastIndenxOf //一个参数的时候表示传值,返回索引的位置 (index从0开始)
//var index = arr.indexOf(5); //4
//alert(index);
//两个参数:第一个:起始位置,第二个参数:值
//var index = arr.indexOf(4,4);
//alert(index);
//他们查找数组元素用‘===’; //lastIndexOf
//var index = arr.lastIndexOf(2);
//alert(index); //5个新增迭代的方法
/**
* 1 every:对数组的每一个元素进行函数的运行,
* 如果都返回true,最后返回true,有一个返回false,最后返回false
*
回掉函数
var result = arr.every(function(item,index,array){
return items >0; //数组元素是否都大于0
});
alert(result); */ /**
* 2 filter:对数组的每一项进行函数的运行,把过滤后的结果返回 var result = arr.filter(function(item,index,array){
return item >2; //返回大于2的
});
alert(result); //34543
*/
//3 forEach:循环数组的每一项的值,并执行一个方法
/*
arr.forEach(function(item,index,array){
alert(item);
});
*/ //4 map:对数组的每一项进行函数的运行,返回执行的结果,新的数组
/*
var result = arr.map(function(item,index,array){
return item*3; //把数组每一项*3,返回新的数组
});
alert(result);
*/
//5 some:跟every相反,有一个返回true就返回true
/*
var result = arr.some(function(item,index,array){
return item >=5;
});
alert(result);
*/ //reduce reduceRight
//变量的起始位置不同
//前一个值,当前值,索引值,array数组本身
/*
var result = arr.reduce(function(prev,cur,index,array){
return prev + cur ; //前一个值+当前值。求和25
});
alert(result);
*/ var result = arr.reduceRight(function(prev,cur,index,array){
return prev + cur ; //前一个值+当前值。求和25
});
alert(result);
</script>
</head>
<body>
</body>
</html>