js迭代器
1.什么是迭代器?
迭代就是重复执行一个重复的过程,每一次的迭代结果作为下一次开始的初始值,其实学过for循环,知道for循环的执行流程,就不难理解。
js中的迭代主要有every()、map()、fliter()(过滤器)some(), foreach()下面一一介绍
1every() 只有数组中的每一个数都满足才返回true,否则返回false
语法是:数组.every(function(item,index,array)
{return 条件})
//比如:判断这个数组是不是都是大于60的数
//返回的是一个布尔值这边我定义一个b来接收一下
//item表示每一项值,index表示下标,array是数组
var arr = [70,58,80,89,90,20,90];
var b = arr.every(function(item,index,array)
{
return item > 60;
})
console.log(b);//false

数组中并不是所有项都大于60,所以会返回fasle,如果我将所有数都改成大于60的数结果就是true
var arr = [70,90,80,89,90,78,90];
var b = arr.every(function(item,index,array)
{
return item > 60;
})
console.log(b);//true

2.map() 的作用我自己目前看到有两种
一种是对数组中的每一项进行统一的操作,做相同的操作,比如给数组中的每一项加一个10.然后返回一个新的数组。
第二种就是,条件是一个判断的比如说 arr.map(function(item,index,arr){return item>60}) 或对每一项进行一个判断,并对每一项返回一个布尔值。
var arr = [70,90,80,89,90,78,90];
var c = arr.map(function(item,index,arr)
{
return item + 10;
})
console.log(c);

第二种判断数组中的满足条件情况,返回一个布尔值
var arr = [50,90,40,89,90,78,90];
var c = [];
var c = arr.map(function(item,index,arr)
{
return item > 60;
})
console.log(c);

可以看到符合条件的都是true,不符合的都返回false;
用途:可以判断一个数组中满足条件的个数,和不满足的个数
filter()过滤器,其实虫这个名字也能看出来,他可以实现筛选,帅选符合条件的,再赋值给一个新的数组。
var arr = [50,90,40,89,90,78,90];
var c = arr.filter(function(item,index,arr)
{
return item > 60;
})
console.log(c);

some(),用法是有一个满足其概况就将返回true,一个也不满足返回false
var arr = [70,79,40,30,79];
var s = arr.some(function(items,index,arr)
{
return items > 60;
})
console.log(s)

var arr = [30,50,40,30,58];
var s = arr.some(function(items,index,arr)
{
return items > 60;
})
console.log(s)
如果所有条件都不满足就返回fasle

还有就是foeach(),foreach用法和for循环其实比较类似,但是,它区别于以上的几种用法,他没有返回值,(返回值为undefined),它也有三个参数foreach(function(value,index,array)) value表示是值,index表示的是数组的下标,array是数组,index和array是可以省略的。
var arr = [80,58,80,49,70,80];
arr.forEach(function(value,index,arr){
console.log(value);
})

1531

被折叠的 条评论
为什么被折叠?



