Как решить проблему с преобразованием типа, когда мешает NaN?
Проверяйте на NaN при помощи специальной функции isNaN, и будет вам счастье. Возвращает true, если получилось NaN, и false – для любого другого значения.
Элементарно:var someArray = ['3232', 'sdfdsf', 'gfdgdsf', '23423', '54534']
someArray.map(i => {
  if (!isNaN(i)) {
    // делай что-то с числами
  } else {
    // делай что-то со строками
  }
})
Гуглится тоже элементарно:
https://www.google.ru/search?q=js+string+is+number