JS中some和every的区别和用法详解

 更新时间:2023年05月10日 14:49:02   作者:虚无——缥缈  
every 和 some 都是数组迭代方法,都可以遍历数组,这篇文章主要介绍了JS中some和every的区别和用法,需要的朋友可以参考下

JS中some和every的区别和用法

some和every是数组中迭代的方法
相同点:some和every都有三个参数,即item→当前项,index→当前的索引值,array→数组本身;都可以遍历数组

不同点:

some相当于逻辑关系中的或,只要有一个参数满足条件,则中断遍历,返回true,如果遍历完所有参数,没有找到符合的项,即返回false;every相当于关系中的且,只有所有关系都满足条件时才返回true,一旦有一个不满足,则中断遍历,返回fasle。

通俗一点就是 some:一真即真,every:一假即假

let arr = [7, 6, 5, 4, 3, 2, 1,0];
    //一真即真,满足一个条件都返回 true
    console.log('some-→' + arr.some((item, index,array) => {
        console.log(array)
        return item > 6 // 返回true
    }));
    //一假即假,一个条件不满足就返回false
    console.log('every-→' + arr.every((item, index) => {
        return  item  // 返回 false
    }));

总结:

some:循环遍历找到符合条件的值,一旦找到则不会继续迭代下去。

every:循环遍历是否符合条件,一旦有一个不符合条件,则不会继续迭代下去。

扩展:every 和 some 的区别

every() 方法用于检测数组的所有元素是否都符合指定条件,即 全真才真

every() 方法会遍历数组,当检测到有一个元素不满足指定条件时,直接返回 false,并且停止遍历,剩余元素不会再进行检测

const arr = [2, 4, 6, 8, 10]const res1 = arr.every(item => item < 5) // falseconst res2 = arr.every(item => item < 20) // true

特别注意: every() 不会对空数组进行检测,当数组为空时,直接返回 true

const res = [].every(item => item < 5)console.log(res); // true

some() 方法用于检测数组中是否有满足指定条件的元素,即 一真就真

some() 方法会遍历数组,当检测到有一个元素满足指定条件时,直接返回 true,并且停止遍历,剩余元素不会再进行检测

const arr = [2, 4, 6, 8, 10]const res1 = arr.some(item => item < 1) // falseconst res2 = arr.some(item => item < 5) // true

特别注意: some() 不会对空数组进行检测,当数组为空时,直接返回 false

const res = [].some(item => item < 1)console.log(res); // false

到此这篇关于JS中some和every的区别和用法的文章就介绍到这了,更多相关js some和every内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • js中less常用的方法小结

    js中less常用的方法小结

    下面小编就为大家带来一篇js中less常用的方法小结。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • JavaScript中的console.time()函数详细介绍

    JavaScript中的console.time()函数详细介绍

    这篇文章主要介绍了JavaScript中的console.time()函数详细介绍,console.time()函数主要用来统计程序执行时间,需要的朋友可以参考下
    2014-12-12
  • vue-router重定向不刷新问题的解决

    vue-router重定向不刷新问题的解决

    本篇文章主要介绍了vue-router重定向不刷新问题的解决,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • javascript记住用户名和登录密码(两种方式)

    javascript记住用户名和登录密码(两种方式)

    这篇文章主要通过两种方式介绍javascript记住用户名和登录密码,有需要的小朋友可以来参考下
    2015-08-08
  • 改进 JavaScript 和 Rust 的互操作性并深入认识 wasm-bindgen 组件

    改进 JavaScript 和 Rust 的互操作性并深入认识 wasm-bindgen 组件

    这篇文章主要介绍了改进 JavaScript 和 Rust 的互操作性并深入认识 wasm-bindgen 组件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • JavaScript中的宏任务和微任务执行顺序

    JavaScript中的宏任务和微任务执行顺序

    在 JavaScript 中,宏任务和微任务是指在执行代码的过程中的两种不同的任务类型,这篇文章主要介绍了JavaScript中的宏任务和微任务执行顺序,需要的朋友可以参考下
    2022-12-12
  • GoJs连线绘图模板Link使用示例详解

    GoJs连线绘图模板Link使用示例详解

    这篇文章主要为大家介绍了GoJs连线绘图模板Link使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • 15个顶级开源JavaScript框架和库

    15个顶级开源JavaScript框架和库

    今天小编就为大家分享一篇关于15个顶级开源JavaScript框架和库的文章,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • javascript实现查找数组中最大值方法汇总

    javascript实现查找数组中最大值方法汇总

    本文给大家汇总了一下使用javascript实现查找数组中最大最小值的一些方法,非常的简单实用,有需要的小伙伴可以来参考下。
    2016-02-02
  • 通过JavaScript使Div居中并随网页大小改变而改变

    通过JavaScript使Div居中并随网页大小改变而改变

    自己的页面太难看了,要居中没居中,要颜色没颜色,但是无论是怎么样都得使登录的框居中吧,下面与大家分享下通过JavaScript可以简单的使Div在页面上居中,随着网页大小的改变做出相应的改变
    2013-06-06

最新评论