首页 > 代码库 > JS 数组迭代方法

JS 数组迭代方法

 

  

js中数组迭代方法有五种 some() , every(), filter(), forEach(),map(),传入这些方法的函数会接收三个参数(数组项的值,该项在数组中的位置,数组对象本身)

 

var items = [9,67,34,25,56];  //如果items中的所有项都大于9返回true否则返回false 全部满足条件才行var everyResult = items.every(function(item,index,array){   return (item>9);});alert(everyResult);//返回值为true/false//其中返回值类似的是 some(),every(),返回值都为true或false// 如果items中有其中一项大于9就返回true 否则返回false 一真即真var someResult = items.some(function(item,index,array){      return (item>9);});alert(someResult);//返回值为true/false// 返回数组中满足条件的项并赋值给filterResultvar filterResult = items.filter(function(item,index,array){    return item>9;});alert(filterResult);//67,34,25,56// 返回items中所有项的比较结果 条件满足返回true否则返回false 每项的结果都会返回var mapResult = items.map(function(item,index,array){    return item>9; //如果符号为*,+,-之类的话会返回它们的结果});alert(mapResult);

//forEach 没有返回值items.forEach(function(item,index,array){ alert(‘item‘);//类似for循环 执行的次数为数组的长度});
 

 添加两个新方法 

//缩小方法--------------------------------------------------------------------------------------var shu = [1,2,3,4,5];// pre是前一个值  cur是当前值var sum = shu.reduce(function(pre,cur,index,array){	//console.log(pre,cur);	//1 2	//3 3	//6 6	//10 5      return pre+cur;});//alert(sum);var summ = shu.reduceRight(function(pre,cur,index,array){    console.log(pre,cur);    // 5  4    // 9  3    //12  2    //14  1    return pre+cur;});alert(summ);

  

JS 数组迭代方法