var someArray = ['3232', 'sdfdsf', 'gfdgdsf', '23423', '54534']
someArray.map(i => {
if (если строка с числами) {
// тут что-то делается
} else if (если строка с символами) {
// и здесь что-то делается
}
})
В боевой задаче, мне нужно из json получить данные и через цикл их отсортировать для таблицы. Так вот sort в js предполагает разное поведение для чисел и строк. В числах стравнивается величина, а строки сравниваются последовательностью алфавита. Поэтому мне нужны условия (они в коде). Когда нам нужно узнать, число это или строка, мы первым делом проверяем тип или еще преобразовываем перед этим, что я и сделал:
Когда я выполняю +'3223', то на выходе 3223. Т.е. typeof +'3223' === 'number' дает true. Это хорошо, мне так и нужно.
Когда я выполняю +'sdfsdafew', на выходе NaN. Т.е. typeof +'dsfadfdsa' === 'number' дает true, ибо NaN это число, хвать его за ногу!
Пол часа сравнивал значения с NaN, мол "if (+'fdsfsdf' !== NaN)"... А NaN с самим собой даже нельзя сравнить, так как NaN === NaN равняется false...
Что делать?