существует ли встроенная функция f(a, b)
в JavaScript, что бы вернуть:функция сравнения в JavaScript
- -1, если < б
- 0, если == б
- 1, если > 1
?
существует ли встроенная функция f(a, b)
в JavaScript, что бы вернуть:функция сравнения в JavaScript
?
@ledlogic решение вдохновило меня для этого (работает только для чисел, что мой случай сейчас):
Math.sign(a - b);
Преимущество этого что мне не нужно писать функцию для него, в отличие от решения [email protected], где У меня есть, напишите функцию для него, если я не хочу несколько оценок выражений a
и b
.
Нет, но это было бы очень легко сделать:
function compare(a, b) {
return a < b ? -1 : a == b ? 0 : 1;
}
+1 особенно для «Нет» :) Это очевидное решение, в котором вы должны * создать функцию, если вы не хотите, чтобы выражения 'a' и' b' оценивались несколько раз. Теперь я нашел более элегантный метод, используя 'Math.sign()', см. Мой ответ. – TMS
Simpler метод, когда он гарантированно вы имеете дело с числами:
function(a, b) {
return a - b;
}
При работе со строками, вы можете использовать localeCompare.
Есть еще примеры сортировки на mozilla.org
Я думаю, что нет, но существует аналогичное поведение с 'inArray(), indexOf' – Praveen
Вы можете использовать' Array.prototype.sort', но это, вероятно, не то, что вы ищете. – bevacqua
Я полагаю, что это * для * сортировки. –