数组的迭代(循环)方法
① every :针对数组元素做些判断,如果结果都为true 则返回的结果为true
1) 用法:数组.every(function(item,idx,arr){ return 判断条件 })
2) Item表示数组中的数组项 idx表示数组项索引 arr表示循环的数组
3) 如果循环每一个数组 返回的判断条件 结果都是true every函数返回的就是true 如果循环过程中有一个返回值为false, 则every函数返回值也是false
② Some:和every用法完全相同
1) 作用:some只要有一个返回值为true some的返回值就是true,如果返回值全是false some的返回值也是false
③ Filter:过滤器
1) 用法:数组.fliter(function(item,idx){ return 过滤条件 });
2) 如果数组项 满足过滤条件,就保留下来,不满足 就过滤掉,最后将保留下来的数组项 组成一个新数组 返回出来
④ Map:
1) 用法:数组.map(function(item,idx){ return 对数组项的操作代码 });
2) 循环每一个数组项 对每一个数组项执行返回的操作代码 将操作过之后的数组项 组成一个新数组 返回出来
⑤ forEach
1) 用法:数组.forEach(function(item,idx){ 循环体代码 });
2) 作用:循环数组,执行循环体代码
⑥代码示例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <script> // every :针对数组元素做些判断,如果结果都为true 则返回的结果为true // 如果循环每一个数组 返回的判断条件 结果都是true every函数返回的就是true 如果循环过程中有一个返回值为false, 则every函数返回值也是false var arr = [1,2,3,4,5,6,7]; var ret = arr.every(function(item,idx,arr){ // console.log(item+"---"+idx,arr); return item>1; }) console.log(ret); // some : 针对数组元素做些判断,如果结果有一个为true 则返回的结果为true var ret1 = arr.some(function(item,idx,arr){ // console.log(item+"---"+idx,arr); return item>6; }) console.log(ret1); // filter : 针对数组元素做些判断,满足条件的元素,会组成一个新的数组,并且返回 var arr1 = ["张居正","张之洞","张三丰","王安石","王伯当","王羲之","李云龙","意大利炮"]; //留下姓张的 var arr2 = arr1.filter(function(item,idx){ return item.indexOf("张")==0 }) console.log(arr2); // map : 返回一个新的数组 var arr3 = ["老萧","allen","萧宇"]; var arr4 = arr3.map(function(item,idx){ return item+"真帅"; }) console.log(arr4); // forEach : 没有返回值,就是一个简单的循环 var arr5 = ["马云","马化腾","李彦宏","蔡崇信","张勇"]; arr5.forEach(function(item,idx){ console.log(idx+'---'+item); }) </script> </body> </html>