我有以下代码,它使用howmanyproducts类查看隐藏的输入。
$("#proddiv .howmanyproducts").each(function() {
var idval = $(this.id).val();
});
我想要实现的是每个id获取值并根据其值将id排序到数组中。
答案 0 :(得分:0)
var arrayOfValues = [];
$("#proddiv .howmanyproducts").each(function() {
arrayOfValues.push($(this).val());
}
答案 1 :(得分:0)
您必须将ID和相应的值都添加到数组中,然后使用适合的比较函数使用数组的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]);