JavaScript中的every 和 some 讲解和实现

简介: `every()` 和 `some()` 是用于测试数组元素是否符合特定条件的两个方法。`every()` 验证所有元素是否都通过指定函数的测试,并返回一个布尔值。而 `some()` 则检查数组中是否存在至少一个元素能通过该测试。若找到符合条件的元素,即使只有一个,`some()` 也会立即返回 `true`;反之则返回 `false`。这两个方法都不会对原数组进行修改。

every 和 some

every: every() 方法测试一个数组内的所有元素是否都能通过指定函数的测试。它返回一个布尔值。

some: some() 方法测试数组中是否至少有一个元素通过了由提供的函数实现的测试。如果在数组中找到一个元素使得提供的函数返回 true,则返回 true;否则返回 false。它不会修改数组。

 const a = [1, 2, 3, 4, 2, 5, 6, 6]


 Array.prototype.myEvery = function (cb) {
   
     for (let i = 0; i < this.length; i++) {
   
         // 如果当前元素返回的测试结果不成立 返回false
         if (cb(this[i]) != true) return false
     }
     return true
 }
 Array.prototype.mySome = function (cb) {
   
     for (let i = 0; i < this.length; i++) {
   
         // 主要有元素测试结果返回true 表示通过,直接返回true 跳出接口
         if (cb(this[i])) return true
     }
     return false
 }

 console.log(a.myEvery((item) => item >= 2)); // false
 console.log(a.mySome((item) => item == 2)); // true
目录
相关文章
|
4月前
|
JavaScript
JS中every的简单使用
JS中every的简单使用
|
29天前
|
JavaScript 前端开发 索引
JS中常用的数组迭代方法(filter,forEach,map,every,some,find,findIndex)
这段代码和说明介绍了JavaScript中数组的一些常用方法。函数接收三个参数:`item`(数组项的值)、`index`(项的位置,可选)和`array`(数组本身,可选)。示例展示了如何使用`filter()`过滤非空项、`forEach()`遍历数组、`map()`处理并返回新数组、`every()`检查所有元素是否满足条件、`some()`检查是否存在满足条件的元素、`find()`获取首个符合条件的元素值以及`findIndex()`获取其索引位置。这些方法都不会修改原数组。
JS中常用的数组迭代方法(filter,forEach,map,every,some,find,findIndex)
|
2月前
|
JavaScript API
js【最佳实践】遍历数组的八种方法(含数组遍历 API 的对比)for,forEach,for of,map,filter,reduce,every,some
js【最佳实践】遍历数组的八种方法(含数组遍历 API 的对比)for,forEach,for of,map,filter,reduce,every,some
56 1
|
4月前
|
JavaScript 前端开发 索引
js的some函数
js的some函数
60 1
|
12月前
|
前端开发 JavaScript
Node.js 工具库 BlueBird 的一些例子:map,each 和 some
Node.js 工具库 BlueBird 的一些例子:map,each 和 some
|
JavaScript 前端开发
Javascript的some()和every()方法的区别以及使用范围
some和every都是Array对象中的方法 every() 方法的意思是“所有”,就是使用指定函数检测数组中的所有元素: (1)如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。 (2)如果所有元素都满足条件,则返回 true。
190 0
|
前端开发 JavaScript
#yyds干货盘点# javascript学习系列(16):数组中的every方法
#yyds干货盘点# javascript学习系列(16):数组中的every方法
93 0
#yyds干货盘点# javascript学习系列(16):数组中的every方法
|
前端开发 JavaScript C++
#yyds干货盘点# javascript学习系列(4):数组中的some方法
#yyds干货盘点# javascript学习系列(4):数组中的some方法
133 0
#yyds干货盘点# javascript学习系列(4):数组中的some方法
|
JavaScript
JS中every()方法
JS中every()方法
160 0
JS中every()方法
|
JavaScript
JS中some()方法
JS中some()方法
151 0
JS中some()方法