小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
前言
发现JS中的循环有好多,如果让一下说出来,感觉有些会想不起来,本次花时间来梳理一下JS中循环语句。
本系列相关文章:
- 【循环系列】for循环和while循环
- 【循环系列】for in和forEach循环
- 【循环系列】之map循环
- 【循环系列】filter和some循环
本文是本系列第5篇,关于
every循环
every
跟some类似,但不同的是some只需要某一个元素满足条件就返回true,而every是需要数组中所有元素都满足条件才返回true,如下代码:
let ints = [1, 2, 3, 4];
let res = ints.every((val, index, array) => {
return typeof val === 'number';
});
console.log(res);//true
上述例子中,声明了一个数组ints,通过every方法,检查ints数组中的每一个成员,当里头判断每个成员符合条件时,就返回true
下面我们来模拟封装_every
Array.prototype._every = function (fn, thisTo) {
let res = true;
for (let i = 0; i < this.length; i++) {
if (!fn.call(thisTo, this[i], i, this)) {
res = false;
break;
}
}
return res;
}
let ints = [1, 1, 1, 1];
let res = ints._every((val, index, array) => {
return val == 1;
});
console.log(res) //true
实现!
小结一下:以上五个方法forEach/map/filter/some/every传参都是一样,可以接收两个参数,分别是循环回调函数和this指向,其中回调函数的参数分别对应数组成员的value值、下标index和原数组array
结束
以上就是every循环的相关内容