JavaScript中的array.every方法详解

JavaScript中的array.every方法详解

在JavaScript中,数组是一种非常常用的数据结构,而array.every方法是数组对象的一个非常有用的方法之一。在本文中,我们将详细介绍array.every方法的用法和示例代码。

array.every方法简介

array.every方法是JavaScript数组对象的一个方法,用于检测数组中的所有元素是否满足指定的条件。它接受一个回调函数作为参数,该回调函数会对数组中的每个元素进行检测,如果所有元素都满足条件,则返回true,否则返回false。

array.every方法的语法如下:

array.every(callback(element, index, array), thisArg)

其中,callback是一个回调函数,element表示数组中的当前元素,index表示当前元素的索引,array表示当前数组对象,thisArg是可选的参数,用于指定回调函数中的this值。

示例代码

下面我们将通过一些示例代码来演示array.every方法的用法。

示例1:检测数组中的所有元素是否大于0

const numbers = [1, 2, 3, 4, 5];

const allPositive = numbers.every(num => num > 0);

console.log(allPositive); // true

Output:

JavaScript中的array.every方法详解

在这个示例中,我们定义了一个包含正整数的数组numbers,然后使用array.every方法检测数组中的所有元素是否大于0,最终返回true。

示例2:检测数组中的所有元素是否为偶数

const numbers = [2, 4, 6, 8, 10];

const allEven = numbers.every(num => num % 2 === 0);

console.log(allEven); // true

Output:

JavaScript中的array.every方法详解

在这个示例中,我们定义了一个包含偶数的数组numbers,然后使用array.every方法检测数组中的所有元素是否为偶数,最终返回true。

示例3:检测数组中的所有元素是否相等

const values = [1, 1, 1, 1, 1];

const allEqual = values.every((num, index, array) => num === array[0]);

console.log(allEqual); // true

Output:

JavaScript中的array.every方法详解

在这个示例中,我们定义了一个包含相同元素的数组values,然后使用array.every方法检测数组中的所有元素是否相等,最终返回true。

示例4:检测数组中的所有元素是否依次递增

const numbers = [1, 2, 3, 4, 5];

const allIncreasing = numbers.every((num, index, array) => index === 0 || num === array[index - 1] + 1);

console.log(allIncreasing); // true

Output:

JavaScript中的array.every方法详解

在这个示例中,我们定义了一个依次递增的数组numbers,然后使用array.every方法检测数组中的所有元素是否依次递增,最终返回true。

示例5:检测数组中的所有元素是否为偶数且大于0

const numbers = [2, 4, 6, 8, 10];

const allEvenAndPositive = numbers.every(num => num % 2 === 0 && num > 0);

console.log(allEvenAndPositive); // true

Output:

JavaScript中的array.every方法详解

在这个示例中,我们定义了一个包含偶数的数组numbers,然后使用array.every方法检测数组中的所有元素是否为偶数且大于0,最终返回true。

示例6:检测数组中的所有元素是否为负数

const numbers = [-1, -2, -3, -4, -5];

const allNegative = numbers.every(num => num < 0);

console.log(allNegative); // true

Output:

JavaScript中的array.every方法详解

在这个示例中,我们定义了一个包含负数的数组numbers,然后使用array.every方法检测数组中的所有元素是否为负数,最终返回true。

示例7:检测数组中的所有元素是否为奇数

const numbers = [1, 3, 5, 7, 9];

const allOdd = numbers.every(num => num % 2 !== 0);

console.log(allOdd); // true

Output:

JavaScript中的array.every方法详解

在这个示例中,我们定义了一个包含奇数的数组numbers,然后使用array.every方法检测数组中的所有元素是否为奇数,最终返回true。

示例8:检测数组中的所有元素是否为负偶数

const numbers = [-2, -4, -6, -8, -10];

const allNegativeEven = numbers.every(num => num < 0 && num % 2 === 0);

console.log(allNegativeEven); // true

Output:

JavaScript中的array.every方法详解

在这个示例中,我们定义了一个包含负偶数的数组numbers,然后使用array.every方法检测数组中的所有元素是否为负偶数,最终返回true。

示例9:检测数组中的所有元素是否为负奇数

const numbers = [-1, -3, -5, -7, -9];

const allNegativeOdd = numbers.every(num => num < 0 && num % 2 !== 0);

console.log(allNegativeOdd); // true

Output:

JavaScript中的array.every方法详解

在这个示例中,我们定义了一个包含负奇数的数组numbers,然后使用array.every方法检测数组中的所有元素是否为负奇数,最终返回true。

示例10:检测数组中的所有元素是否为连续的偶数

const numbers = [2, 4, 6, 8, 10];

const allConsecutiveEven = numbers.every((num, index, array) => index === 0 || num === array[index - 1] + 2);

console.log(allConsecutiveEven); // true

Output:

JavaScript中的array.every方法详解

在这个示例中,我们定义了一个连续的偶数数组numbers,然后使用array.every方法检测数组中的所有元素是否为连续的偶数,最终返回true。

示例11:检测数组中的所有元素是否为连续的奇数

const numbers = [1, 3, 5, 7, 9];

const allConsecutiveOdd = numbers.every((num, index, array) => index === 0 || num === array[index - 1] + 2);

console.log(allConsecutiveOdd); // true

Output:

JavaScript中的array.every方法详解

在这个示例中,我们定义了一个连续的奇数数组numbers,然后使用array.every方法检测数组中的所有元素是否为连续的奇数,最终返回true。

示例12:检测数组中的所有元素是否为斐波那契数列

const fibonacci = [1, 1, 2, 3, 5, 8, 13];

const isFibonacci = fibonacci.every((num, index, array) => index < 2 || num === array[index - 1] + array[index - 2]);

console.log(isFibonacci); // true

Output:

JavaScript中的array.every方法详解

在这个示例中,我们定义了一个斐波那契数列数组fibonacci,然后使用array.every方法检测数组中的所有元素是否为斐波那契数列,最终返回true。

示例13:检测数组中的所有元素是否为质数

const primes = [2, 3, 5, 7, 11];

const isPrime = primes.every(num => {
    if (num <= 1) {
        return false;
    }
    for (let i = 2; i <= Math.sqrt(num); i++) {
        if (num % i === 0) {
            return false;
        }
    }
    return true;
});

console.log(isPrime); // true

Output:

JavaScript中的array.every方法详解

在这个示例中,我们定义了一个质数数组primes,然后使用array.every方法检测数组中的所有元素是否为质数,最终返回true。

示例14:检测数组中的所有元素是否为完全平方数

const squares = [1, 4, 9, 16, 25];

const isSquare = squares.every(num => Math.sqrt(num) % 1 === 0);

console.log(isSquare); // true

Output:

JavaScript中的array.every方法详解

在这个示例中,我们定义了一个完全平方数数组squares,然后使用array.every方法检测数组中的所有元素是否为完全平方数,最终返回true。

示例15:检测数组中的所有元素是否为回文数

const palindromes = ['level', 'radar', 'madam', 'racecar'];

const isPalindrome = palindromes.every(str => str === str.split('').reverse().join(''));

console.log(isPalindrome); // true

Output:

JavaScript中的array.every方法详解

在这个示例中,我们定义了一个回文数数组palindromes,然后使用array.every方法检测数组中的所有元素是否为回文数,最终返回true。

示例16:检测数组中的所有元素是否为同一个字符串

const words = ['hello', 'hello', 'hello', 'hello'];

const allSame = words.every((word, index, array) => word === array[0]);

console.log(allSame); // true

Output:

JavaScript中的array.every方法详解

在这个示例中,我们定义了一个包含相同字符串的数组words,然后使用array.every方法检测数组中的所有元素是否为同一个字符串,最终返回true。

示例17:检测数组中的所有元素是否为不同的字符串

const words = ['apple', 'banana', 'cherry', 'date'];

const allDifferent = words.every((word, index, array) => array.indexOf(word) === index);

console.log(allDifferent); // true

Output:

JavaScript中的array.every方法详解

在这个示例中,我们定义了一个包含不同字符串的数组words,然后使用array.every方法检测数组中的所有元素是否为不同的字符串,最终返回true。

示例18:检测数组中的所有元素是否为URL

const urls = ['https://www.deepinout.com', 'http://www.example.com', 'https://www.google.com'];

const isURL = urls.every(url => /^https?:\/\/(www\.)?[a-zA-Z0-9-]+\.[a-z]{2,}$/i.test(url));

console.log(isURL); // true

Output:

JavaScript中的array.every方法详解

在这个示例中,我们定义了一个URL数组urls,然后使用array.every方法检测数组中的所有元素是否为URL,最终返回true。

示例19:检测数组中的所有元素是否为邮箱地址

const emails = ['info@deepinout.com', 'john.doe@example.com', 'jane.doe@gmail.com'];

const isEmail = emails.every(email => /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(email));

console.log(isEmail); // true

Output:

JavaScript中的array.every方法详解

在这个示例中,我们定义了一个邮箱地址数组emails,然后使用array.every方法检测数组中的所有元素是否为邮箱地址,最终返回true。

示例20:检测数组中的所有元素是否为手机号码

const phoneNumbers = ['1234567890', '9876543210', '555-555-5555'];

const isPhoneNumber = phoneNumbers.every(phone => /^\d{10}/.test(phone) || /^\d{3}-\d{3}-\d{4}/.test(phone));

console.log(isPhoneNumber); // true

Output:

JavaScript中的array.every方法详解

在这个示例中,我们定义了一个手机号码数组phoneNumbers,然后使用array.every方法检测数组中的所有元素是否为手机号码,最终返回true。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程