some和every是数组中迭代的方法
相同点:some和every都有三个参数,即item→当前项,index→当前的索引值,array→数组本身;都可以遍历数组
不同点:
some相当于逻辑关系中的或,只要有一个参数满足条件,则中断遍历,返回true,如果遍历完所有参数,没有找到符合的项,即返回false;every相当于关系中的且,只有所有关系都满足条件时才返回true,一旦有一个不满足,则中断遍历,返回fasle。
通俗一点就是 some:一真即真,every:一假即假
代码示例:
<script>
let arr = [7, 6, 5, 4, 3, 2, 1];
//一真即真,满足一个条件都返回 true
console.log('some-→' + arr.some((item, index) => {
return item > 6 // 返回true
}));
//一假即假,一个条件不满足就返回false
console.log('every-→' + arr.every((item, index) => {
return + item > 6 // 返回 false
}));
</script>
返回结果:
总结:
some:循环遍历找到符合条件的值,一旦找到则不会继续迭代下去。
every:循环遍历是否符合条件,一旦有一个不符合条件,则不会继续迭代下去。