Вы должны добавить как свои идентификаторы и соответствующие значения в массив, а затем использовать sort
метод вашего массива с адаптированной функцию сравнения. Пусть говорят ваши значения числа, но извлекаются в виде строки:
// Create a new empty array :
var ids = [];
$("#proddiv .howmanyproducts").each(function() {
var id = this.id;
var val = $(this.id).val();
// Store the id and the value:
ids.push([id, +val]);
});
// Sort the array in place, using the second element of each item
// ie. the value :
ids.sort(function(a, b) { return a[1] - b[1]; });
// Once sorted, make a new array with only the ids:
var result = ids.map(function(a,b) { return a[0] });
Я использовал традиционный синтаксис, но учтите, что это может быть записано более просто с помощью функции стрелок:
ids.sort((a,b) => a[1] - b[1]);
var result = ids.map((a,b) => a[0]);
Мне нужно, чтобы отобразить идентификаторы в массиве, а не их значениях, но сортировка должна быть в значениях. нужно ли быть многомерным? –
Да, вы можете использовать его в многомерном массиве, я обновил свой ответ. – mgc