Нужно проверить типы элементов массива с помощью метода every

Рейтинг: -1Ответов: 1Опубликовано: 18.05.2023

Есть массив const a = [52, 'abc', 32, 15] нужно создать функцию с методом 'every', которая выводит true, если найден элемент типа 'string'

Функция ниже, как оказалось, не работает

const arraySortInfo = (inputArray) => inputArray.every(function(elem) {
if (typeof elem == 'string') {
    return true;
} else {
    return false;
}

Ответы

▲ 1

Array.every проверяет что все элементы удовлетворяет условию.

Если нужно проверить что удовлетворяет хотя бы один лучше воспользоваться методом Array.some.

Однако, логическое выражение: существует хотя бы один удовлетворяющий условию - эквивалентно = не существует ни одного не удовлетворяющего.

Таким образом можно записать условие с помощью every

!arr.every((el)=> !condition(el))

Пример:

const arraySortInfo = (inputArray) => !inputArray.every(function(elem) {
  return typeof elem != 'string'
})

const a = [52, 'abc', 32, 15]
const b = [52, 10, 32, 15]

console.log(arraySortInfo(a));
console.log(arraySortInfo(b));