首页 > 编程笔记 > JavaScript笔记 > JS数组
JS every()方法:检测数组元素是否全部符合指定条件
JavaScript every() 方法用来判断数组的所有元素是否都满足指定的条件。
如果 callbackfn 函数为所有数组元素返回 true,则返回值为 true;否则返回值为 false。如果数组没有元素,则 every() 方法将返回 true。
every() 方法会按升序顺序对每个数组元素调用一次 callbackfn 函数,直到 callbackfn 函数返回 false。如果找到导致 callbackfn 返回 false 的元素,则 every() 方法会立即返回 false;否则,every() 方法返回 true。every() 方法不为数组中缺少的元素调用该回调函数。
除了数组对象之外,every() 方法可由具有 length 属性具有自己按数字编制索引的属性名的任何对象使用,如关联数组对象、Arguments 等。
回调函数语法如下:
与 every() 方法类似的还有 some() 方法,它们的区别是:只有当数组中的所有元素都满足条件时,every() 才返回 true;只要数组中有一个元素满足条件,some() 就返回 true。请转到《JS some()》了解详情。
every() 具体用法如下:array.every(callbackfn[, thisArg]);
参数说明:- array:必需参数,一个数组对象。
- callbackfn:必需参数,一个接收量最多三个参数的函数。every() 方法会为 array 中的每个元素调用 callbackfn函数,直到 callbackfn 返回 false,或直到到达数组的结尾。
- thisArg:可选参数,可在 callbackfn 函数中为其引用 this 关键字的对象。如果省略 thisArg,则 undefined 将用作 this 值。
如果 callbackfn 函数为所有数组元素返回 true,则返回值为 true;否则返回值为 false。如果数组没有元素,则 every() 方法将返回 true。
every() 方法会按升序顺序对每个数组元素调用一次 callbackfn 函数,直到 callbackfn 函数返回 false。如果找到导致 callbackfn 返回 false 的元素,则 every() 方法会立即返回 false;否则,every() 方法返回 true。every() 方法不为数组中缺少的元素调用该回调函数。
除了数组对象之外,every() 方法可由具有 length 属性具有自己按数字编制索引的属性名的任何对象使用,如关联数组对象、Arguments 等。
回调函数语法如下:
function callbackfn(value, index, array);
用户可以使用三个参数来声明回调函数。回调函数的参数说明如下。- value:数组元素的值。
- index:数组元素的数字索引。
- array:包含该元素的数组对象。
示例1
下面示例检测数组中元素是否都为偶数,并进行提示。function f (value, index, ar) { if (value % 2 == 0) { return true; }else { return false; } } var a = [2,4,5,6,8]; if (a.every(f)) { console.log("都是偶数"); }else{ console.log("不全为偶数"); }
示例2
下面示例检测数组中元素的值是否在指定范围内。范围值通过一个对象来设置。通过本示例演示 thisArg 参数的用法。var f = function (value) { if (typrof value !== 'number') { return false; }else { return value >=this.min && value <= this.max; } var a = [10,15,19]; var obj = {min : 10, max : 20}; if (a.every(f, obj)) { console.log("都在指定范围内。"); } else { console.log("部分不在范围内。"); }
所有教程
- C语言入门
- C语言编译器
- C语言项目案例
- 数据结构
- C++
- STL
- C++11
- socket
- GCC
- GDB
- Makefile
- OpenCV
- Qt教程
- Unity 3D
- UE4
- 游戏引擎
- Python
- Python并发编程
- TensorFlow
- Django
- NumPy
- Linux
- Shell
- Java教程
- 设计模式
- Java Swing
- Servlet
- JSP教程
- Struts2
- Maven
- Spring
- Spring MVC
- Spring Boot
- Spring Cloud
- Hibernate
- Mybatis
- MySQL教程
- MySQL函数
- NoSQL
- Redis
- MongoDB
- HBase
- Go语言
- C#
- MATLAB
- JavaScript
- Bootstrap
- HTML
- CSS教程
- PHP
- 汇编语言
- TCP/IP
- vi命令
- Android教程
- 区块链
- Docker
- 大数据
- 云计算