① 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>