Функция sortBy подчеркивания не работает при сравнении числа и текста - PullRequest
0 голосов
/ 08 июня 2018

sortBy неправильно сортирует.Он просто возвращает массив как есть.например.скрипт, который можно запустить непосредственно в консоли (при условии, что объект _ доступен)

var abc = ["n/a",0,0,"n/a","n/a",0]
_.sortBy(abc)

//["n/a", 0, 0, "n/a", "n/a", 0]    //returns this

любые предложения !!!

1 Ответ

0 голосов
/ 09 июня 2018

Вы должны добавить метод iteratee, чтобы функция могла правильно сравнивать значения при сортировке.Так как вы используете смешанные типы (числа и строки), вам нужно проделать дополнительную работу.

function asNumber(v) {
  var num = Number(v);
  if(isNan(num)) {
    return v; // original value
  } else {
    return num;
  }
}

, а затем вызвать:

_.sort(abc, asNumber)

...