В этой статье мы обсудим, как проверить, равны ли все элементы массива в JavaScript.

Есть несколько способов сделать это.

Давайте обсудим пару методов ниже.

Использование метода Array.prototype.every()

Метод Array.prototype.every() доступен начиная с ES5.

Метод Every() проверяет, соответствуют ли все элементы массива заданным критериям, указанным в функции.

Если ложное значение возвращается из-за несоблюдения критериев, метод Every() дает короткое замыкание. Как только метод every() находит элемент массива, который не соответствует заданным вами критериям, он немедленно возвращает false и не перебирает оставшиеся элементы.

Например, чтобы проверить, равны ли все элементы в массиве, мы можем использовать метод Every() следующим образом:

areArrayValuesEqual = (arr = []) => arr.every((val, i, arr) => val === arr[0])
areArrayValuesEqual([true, true, true, true]) /* true */
areArrayValuesEqual(['Goku', 'Goku', 'Goku']) /* true */
areArrayValuesEqual([1, 1, 1, 2]) /* false */
areArrayValuesEqual(['10', 10, 10, 10]) /* false */

Выше мы проверяем, что каждое значение совпадает с первым элементом в массиве. Если это то же самое, метод Every() возвращает true и переходит к следующему элементу. Если это не то же самое, метод Every() возвращает false и немедленно замыкает работу.

Использование Set.prototype.size

В ES6 мы можем использовать Set для проверки равенства элементов массива.

Объект Set хранит набор различных значений.

С учетом сказанного это делает Set полезным для простой проверки того, имеет ли массив одинаковые значения.

areArrayValuesEqual = (arr = []) => new Set(arr).size === 1
areArrayValuesEqual([true, true, true, true]) /* true */
areArrayValuesEqual(['Gohan', 'Gohan', 'Gohan']) /* true */
areArrayValuesEqual([1, 1, 1, 2]) /* false */
areArrayValuesEqual(['10', 10, 10, 10]) /* false */

Выше мы передаем наш массив в объект Set, который добавит в Set только отдельные значения из переданного массива.

Затем мы можем использовать свойство size объекта Set, которое возвращает количество уникальных элементов в объекте Set.

Итак, если наш Set возвращает 1, мы знаем, что наш массив имеет равные элементы.

Вот оно.

Используя JavaScript, у нас есть несколько решений для проверки того, имеет ли массив одинаковые значения. Обсуждаемые здесь методы — это метод Array.prototype.every() и использование объекта Set.

Дальнейшее чтение







Ссылки

Если у вас есть какие-либо вопросы/предложения, вы можете связаться со мной ниже:

Ссылка: https://www.linkedin.com/in/luke-sloane-bulger/

Тебе понравилась эта статья? Обязательно поделитесь ею в социальных сетях. Спасибо!