Проблема заключется в том что не выполняется нормально проверка на тип данных JS

    const tabel = {
        "biology": 11,
        "phisic": 8,
        "history": 12,
        "mathematic": 6,
        "sport": "3",
        "battle magic": 12,
        name: "Суй",
        "last name": "Рю",
    };
  let overallScore = [];
  let allValues =  Object.values(tabel);
    for(let item of allValues){
        if (typeof(+item) === 'number'){
            overallScore.push(item)
        }
    }

Ответы (1 шт):

Автор решения: Август

проблема в том, что + пытается превратить что угодно в число. если это невозможно, то оно его превращает в NaN (not a number). а NaN - это сущность, которая так же имеет тип number. то есть, Вы в любом случае будете получать тип number.

попробуйте проверить вот на этом:

const test = +"lolo";  // NaN
console.log(typeof test); // number

под Вашим вопросом в комментариях коллега @Yaant предложил отличное решение, по-этому не буду повторяться

→ Ссылка