•对于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>
时间: 2024-10-05 06:44:04