В тази статия ще обсъдим как да проверим дали всички елементи в масив са равни в 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.

Така че, ако нашият набор върне 1, ние знаем, че нашият масив има равни елементи.

Ето го.

С помощта на JavaScript имаме множество решения за проверка дали даден масив има равни стойности. Обсъжданите тук методи са методът Array.prototype.every() и използването на обекта Set.

Допълнителна информация







Връзки

Ако имате въпроси/предложения, можете да се свържете с мен по-долу:

Linkedln: https://www.linkedin.com/in/luke-sloane-bulger/

Хареса ли ви тази статия? Не пропускайте да го споделите в социалните мрежи. Благодаря!