嘿我做这样的事情:
temp = $.map(response, function(item) {
return {
label: item.name,
value: item.id
};
});
temp.unshift({label: "", value: 0});temp
有没有办法确保返回按字母顺序构建?
答案 0 :(得分:1)
您可以在创建地图之前始终对response
进行排序,或者只是对生成的映射数组进行排序。
var response = [{ name: 'z', id: 1 }, { name: 'a', id: 2 }];
response = response.sort(function (a, b) {
return a.name < b.name? -1 : +(a.name > b.name);
});
response[0].name; //a
请注意,+(a.name > b.name)
用于在相等时明确返回0
,在{更高时1
时更新,因为这是sort
函数所期望的内容。
答案 1 :(得分:0)
temp.sort(function(a, b) {
return a.value > b.value ? 1 : -1;
});
var result = temp.map(function(e){
return list[e.index]
});