Проблема заключется в том что не выполняется нормально проверка на тип данных 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 предложил отличное решение, по-этому не буду повторяться