TransWikia.com

Количество чисел в смешанном массиве

Stack Overflow на русском Asked by Vardy9 on December 20, 2020

Задание: Напишите функцию countOfNumbers, которая принимает массив arr как аргумент и возвращает количество элементов, которые являются числами. Массив arr может состоять из чисел, строк и булевых (логичесих) величин.

Примеры:

функция countOfNumbers([2, ‘a’, 5, true, ‘b’, 1, ‘c’]) должна возвратить 3 (3 числа: 2, 5, 1);

функция countOfNumbers([true, false, ‘abc’]) должна возвратить 0;

function countOfNumbers(arr){
let count = 0;
if (!arr.length) {
return 0;
}
for (let i = 0; i < arr.length; i++) {
if (arr[i] === Number) {
count = count + 1; 
}
}
return count;
}

введите сюда описание изображения

Проблема: Не понимаю, как прописать в функции, что мне нужни только числа.

2 Answers

Наверняка есть нюансы, но работает в большинстве случаев:

function countOfNumbers(arr) {
  return arr.filter(item => Number.isFinite(item)).length;
}

alert(countOfNumbers(['7', 2.5, 'a', 0, true, 'b', 1, 'c', Infinity, NaN, -Infinity, null]))

Answered by UModeL on December 20, 2020

 function countOfNumbers(arr){
        let count = 0;
        for (let i = 0; i < arr.length; i++) {
           // console.log(arr[i])
           if ( Number.isInteger(arr[i])||parseFloat(arr[i])) {
            count ++
        }
        }
        return count;
    }
      alert(countOfNumbers([2.5 ,'a', 5.6, true, 'b', 1, 'c']) )

Answered by Илья on December 20, 2020

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP