`every()` 方法是 JavaScript 數(shù)組對(duì)象的一個(gè)內(nèi)置方法,用于檢測(cè)數(shù)組中的所有元素是否都符合指定的條件。它會(huì)遍歷數(shù)組的每個(gè)元素,并對(duì)每個(gè)元素執(zhí)行一個(gè)回調(diào)函數(shù),只有當(dāng)所有元素都滿(mǎn)足條件時(shí),才會(huì)返回 `true`;否則,返回 `false`。
`every()` 方法的基本語(yǔ)法如下:
javascript
array.every(callback(element, index, array), thisArg);
- `callback`:一個(gè)用于測(cè)試每個(gè)數(shù)組元素的回調(diào)函數(shù)。
- `element`:當(dāng)前被遍歷的數(shù)組元素。
- `index`:當(dāng)前被遍歷的數(shù)組元素的索引。
- `array`:被遍歷的數(shù)組。
- `thisArg`(可選):在執(zhí)行回調(diào)函數(shù)時(shí)用作 `this` 的值。
下面是一個(gè)示例,演示如何使用 `every()` 方法檢測(cè)數(shù)組中的元素是否都大于 0:
javascript
var numbers = [1, 2, 3, 4, 5];
var allPositive = numbers.every(function(element) {
return element > 0;
});
console.log(allPositive); // 輸出 true
在上述示例中,我們定義了一個(gè)數(shù)組 `numbers`,包含了一些數(shù)字。然后使用 `every()` 方法來(lái)檢測(cè)數(shù)組中的元素是否都大于 0?;卣{(diào)函數(shù)判斷每個(gè)元素是否大于 0,如果都滿(mǎn)足,則返回 `true`,否則返回 `false`。最終結(jié)果為 `true`,因?yàn)閿?shù)組中的所有元素都大于 0。
需要注意的是,如果數(shù)組為空,則 `every()` 方法將始終返回 `true`,因?yàn)闆](méi)有元素需要檢測(cè)。此外,如果數(shù)組中存在稀疏數(shù)組(包含空洞的數(shù)組),則空洞處的元素會(huì)被視為滿(mǎn)足條件。
`every()` 方法對(duì)于需要檢測(cè)數(shù)組中的所有元素是否滿(mǎn)足某個(gè)條件的情況非常有用。如果只需要檢測(cè)數(shù)組中是否存在符合條件的元素,可以使用 `some()` 方法。