Скажем, у меня есть массив чисел:Javascript: Сортировка целочисленный массив вокруг определенного числа
var foo = [20, 10, 03, 04, 02, 15, 01];
Мне нужно сортировать числа, используя array.sort
поэтому результат имеет все меньше десяти после десяти:
[10, 15, 20, 01, 02, 03, 04]
Прост в использовании. Или мне придется хранить значения во внешних массивах, а затем втягивать их (даже тогда я не уверен, как это сделать только в методе сортировки)? Самое близкое, что я мог найти, это пример this, но он написан в C#, и логика на самом деле не объяснена.
Ближайшая логика, о которой я могу думать, - это splice
все числа ниже 10 и поместить их в другой массив. По мере сортировки сортируйте новый массив от наименьшего до самого большого и добавьте в конец начального массива. Однако никакого обратного вызова какого-либо типа нет.
Я пытаюсь использовать это в сочетании с внедрением встроенной сортировки KnockoutJS, поэтому я пытаюсь придерживаться метода сортировки.
ли малые цифры должны быть отсортированы в 1, 2, 3, 4 или они могут быть инвертированы (например: [18, 19, 20, 5, 4, 3, 2, 1])? Определяет ли тип Knockout ссылку на массив как параметр, или у вас есть только a и b для работы? Можете ли вы позвонить .sort дважды, прикованный цепью? – Norguard
Меньшие числа не могут быть инвертированы, должно быть от самого большого до самого маленького. Нокаут позволяет вам цепочки фильтров, да. Метод @steaks работает, я вот-вот поставлю его в кодировщик. – Ojame