Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как проверить массив на NaN (https://javascript.ru/forum/misc/75195-kak-proverit-massiv-na-nan.html)

MC-XOBAHCK 11.09.2018 20:36

Как проверить массив на NaN
 
Как проверить массив на то что в нём нет элементов NaN ?

Мне нужно если в массиве нет элементов NaN запустить выполнение кода. Примерно такая модель:
let arr;

if (в arr нет элементов NaN) {
    console.log('Ура!!!');
}


Т.к. мне нужно вывести сумму массива, я могу сделать такое рабочее решение - сделать переменную с результатом суммы и если оно не равно NaN то выводить результат, но оно мне кажется глупым:
let arr;
let summa = arr.reduce((sum, item) => sum + item);

!isNaN(summa) ? console.log(summa) : console.log('В массиве было NaN');

j0hnik 11.09.2018 20:48

console.log([1,2,3,NaN].some(isNaN));
console.log([1,2,3].some(isNaN));

j0hnik 11.09.2018 20:51

var arr = [1,2,3];
if(!arr.some(isNaN)) alert('МИН НЕТ!');

Aetae 11.09.2018 20:52

j0hnik, зачем плодить сущности?)
console.log([1,2,3,NaN].some(isNaN));
console.log([1,2,3].some(isNaN));

j0hnik 11.09.2018 20:58

Aetae,
да, все верно

рони 11.09.2018 21:02

MC-XOBAHCK,
let arr = [1,2,3], sum = 0;
sum = !arr.some(item => (sum += item, isNaN(item))) && sum;
sum !== false ? console.log(sum) : console.log('В массиве было NaN');

MC-XOBAHCK 11.09.2018 21:09

Вот же блин... Стыдно то как...


Часовой пояс GMT +3, время: 02:22.