首页 > 其他分享 >JS 数组方法 every 和 some 的区别

JS 数组方法 every 和 some 的区别

时间:2023-03-24 14:07:25浏览次数:36  
标签:arr 检测 some JS item every 数组


JS 数组方法 every 和 some 的区别_javascript

  • 1. 前言
  • 2. every 和 some 相同点
  • 3. every 和 some 的区别
  • 4. every 和 some 总结

1. 前言


JS 数组方法 every 和 some 的区别 ? 这是某位前端玩家遇到的面试题

特定场景合理的使用 JS 方法,不仅可以减少我们的代码量,还能更轻松的阅读别人的代码,同时,也能更好的应对面试

2. every 和 some 相同点


every 和 some 都是数组迭代方法,都可以遍历数组。它们的第一个参数都是一个闭包函数,这个闭包函数接收最多接收三个参数,最少接收一个参数,大多数场景下,传递一个参数就足够使用了。它们的返回值都是布尔值

  • item 必写参数, 当前元素
  • index 可选参数, 当前元素的索引值
  • array 可选参数, 当前遍历的数组,也就是 arr

const arr = [2, 4, 6, 8, 10]arr.every((item, index, array) => {    return item < 5})arr.some((item, index, array) => {    return item < 5})


3. 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


4. every 和 some 总结


every() 方法用于检测数组元素是否都满足指定条件,都满足时才返回 true;有一个不满足时,返回 false,剩余元素不再进行检测。对于空数组,不会检测,直接返回 true

some() 方法用于检测数组中是否有元素满足指定条件,有一个满足就返回 true;内部遍历数组时,遇到满足指定条件的元素,就返回 true,剩余元素不再进行检测,对于空数组,不会检测,直接返回 false

 

标签:arr,检测,some,JS,item,every,数组
From: https://blog.51cto.com/10zhancom/6147170

相关文章

  • JS 正则表达式常用方法
    1.JS正则表达式2.使用字符串方法3.使用RegExp方法1.JS正则表达式JS正则表达式语法:#JS的正则表达式不需要使用引号包裹,PHP需要使用引号包裹。修饰符是可选的,可......
  • vue全家桶进阶之路3:Node.js
    Node.js发布于2009年5月,由RyanDahl开发,是一个基于ChromeV8引擎的JavaScript运行环境,使用了一个事件驱动、非阻塞式I/O模型,让JavaScript运行在服务端的开发平台,它让......
  • JavaScript的数学计算库:decimal.js
    阅读目录官网文档decimal.js特性安装实例代码加减乘除官网文档文档:https://mikemcl.github.io/decimal.js/github:https://github.com/MikeMcl/decimal.jsnpm地址:https......
  • JS基础 网络请求
    阅读目录基础知识XMLHttpRequest基本使用响应类型响应结果使用示例发送表单封装请求类FETCH请示步骤响应头解析响应内容解析实例操作发送请求get发送请求post基础知识浏览......
  • JS基础 空间坐标
    阅读目录视口与文档视口与文档尺寸几何尺寸方法列表getComputedStylegetBoundingClientRectgetClientRects坐标点元素元素集合底层元素滚动控制方法列表文档滚动位置元素滚......
  • JS基础 任务管理
    阅读目录任务管理原理分析脚本加载定时器微任务实例操作进度条任务分解任务管理JavaScript语言的一大特点就是单线程,也就是说同一个时间只能处理一个任务。为了协调事件、......
  • JS基础 模块设计
    阅读目录模块设计使用分析实现原理基础知识标签使用模块路径延迟解析模块默认运行在严格模式模块都有独立的顶级作用域预解析导入导出导出模块具名导入批量导入导入建议别名......
  • JS基础 原型与继承
    阅读目录原型基础原型对象使用数组原型对象的concat方法完成连接操作默认情况下创建的对象都有原型。以下x、y的原型都为元对象Object,即JS中的根对象创建一个极简对象(......
  • requireJS 源码(二) data-main 的加载实现
    requireJS源码(二)data-main的加载实现(一)requireJs的整体结构:requireJS源码前192行,是一些变量的声明,工具函数的实现以及对三个全局变量(requirejs,require,def......
  • requireJS 源码(一) require() 为何可以全局使用
    requireJS源码(一)require()为何可以全局使用requireJS源码加注释总共不到2100行。我看的requireJs版本是2.19。 总体结构如下。......