JavaScript every()方法和some()方法有什么区别
在本文中,我们将看到JavaScript中every()方法和some()方法之间的区别。
Array.every()方法: JavaScript中的 Array.every() 方法用于检查数组的所有元素是否满足给定条件。如果有一个元素不满足条件,输出结果将为false;否则,它将返回true,并与some()方法相反。
语法:
// Arrow function
every((element) => { /* … */ })
every((element, index) => { /* … */ })
every((element, index, array) => { /* … */ })
示例: 这个示例实现了every()方法。
// JavaScript code for every() function
function isodd(element, index, array) {
return (element % 2 == 1);
}
function geeks() {
let arr = [6, 1, 8, 32, 35];
// check for odd number
let value = arr.every(isodd);
console.log(value);
}
geeks();
输出:
false
Array.some() 方法: JavaScript 中的 Array.some() 方法用于检查数组中是否至少有一个元素满足给定条件。它接受 true/false 布尔表达式,唯一的区别是 some() 方法在任何一个谓词为 true 时返回 true,而 every() 方法在所有谓词为 true 时返回 true。
语法:
arr.every(callback(element,index,array),thisArg)
示例: 此示例实现了some()方法。
// JavaScript code for some() function
function isodd(element, index, array) {
return (element % 2 == 1);
}
function geeks() {
let arr = [6, 1, 8, 32, 35];
// check for odd number
let value = arr.some(isodd);
console.log(value);
}
geeks();
输出:
true
让我们以表格形式看到差异-:
ID | Array.every() | Array.some() |
---|---|---|
1. | Array.every()方法用于检查数组的所有元素是否满足给定条件。 | Array.some()方法用于检查数组的至少一个元素是否满足给定条件。 |
2. | 如果所有谓词都为true,则every()方法返回true。 | 如果任何一个谓词为true,则some()方法返回true。 |
3. | 此方法对每个数组元素执行一个函数。 | 此方法不对空数组元素执行函数。 |
4. | 此方法不对空元素执行函数。 | 此方法不会改变原数组。 |
5. | 此方法不会改变原数组。 | 返回值类型为布尔型。 |
6. | 语法为 -: array.every(function(value, index, array), thisValue) | 语法为 -: array.some(function(value, index, array), this) |
7. | 支持的浏览器为 -: Chrome, Internet Explorer 9 – 11, Firefox, Safari, Microsoft Edge, Opera | 支持的浏览器为 -: Chrome, Internet Explorer, Firefox, Safari, Microsoft Edge, Opera |