$.ajax({
url: '/seatlt',
type: 'POST',
dataType: 'JSON',
data: data,
async: true,
crossDomain: true,
success: function(res) {
$.each(res, function(i, v) {
$.each(v, function(j, w) {
var ggg = w.name;
vvv.push(ggg);
})
})
}
})
在console.log(vvv)中,输出为:
[" 22"," A"," 23"," B"," 24",& #34; C"," 25"," D"," 26"," E"," 27&# 34;," F"," 28"," 29"," 30"," 31",&# 34; 10"," 32"," 11"," 33"," 12"," 34&#34 ;," 13"," 35"," 14"," 15"," 16",&#34 ; 17"," 18"," 19"," 1"," 2"," 3" ," 4"," 5"," 6"," 7"," 8"," 9"," 20"," 21"]。
但我希望输出为:
[" A"," B"," C"," D"," E",& #34; F"," 1"," 2"," 3"," 4"," 5&# 34;," 6"," 7"," 8"," 9"," 10",&# 34; 11"," 12"," 13"," 14"," 15"," 16&#34 ;," 17"," 18"," 19"," 20"," 21",&#34 ; 22"," 23"," 24"," 25"," 26"," 27" ," 28"," 29"," 30"," 31"," 32"," 33"," 34"," 35"]。
答案 0 :(得分:1)
我写盲,但这应该可以解决问题。
res.sort(function(a, b) {
var AisNumber = a % 1 === 0;
var BisNumber = b % 1 === 0;
if (AisNumber && BisNumber) {
return Number(a) - Number(b);
} else if (AisNumber && !BisNumber) {
return 1;
} else if (!AisNumber && BisNumber) {
return -1;
} else {
if (a < b) {
return -1;
} else if (a > b) {
return 1;
} else {
return 0;
}
}
});
答案 1 :(得分:0)
对数组进行排序?
vvv.sort();
这对我有用。但是你也可以对这些数字进行排序,例如:
var arr = ["A", "9", "B", "1", "8", "9", "C", "10", "11", "17", "20", "21", "30", "31", "35"];
for (var i = 0; i < arr.length; i++) {
try{
arr[i] = eval(arr[i]);
}
catch (err) {
//ignore
}
}
arr.sort();
alert(arr);
答案 2 :(得分:0)
您可以检查数字并在底部对其进行排序,其余值排在最前面。
return isNumber(a) - isNumber(b) || a - b || a > b || -(a < b);
// ^^^^^^^^^^^^^^^^^^^^^^^^^ check group
// ^^^^^ order numbers
// ^^^^^^^^^^^^^^^^^ order strings
var array = ["22", "A", "23", "B", "24", "C", "25", "D", "26", "E", "27", "F", "28", "29", "30", "31", "10", "32", "11", "33", "12", "34", "13", "35", "14", "15", "16", "17", "18", "19", "1", "2", "3", "4", "5", "6", "7", "8", "9", "20", "21"];
array.sort(function (a, b) {
function isNumber(v) { return (+v).toString() === v; }
return isNumber(a) - isNumber(b) || a - b || a > b || -(a < b);
});
console.log(array)
&#13;
.as-console-wrapper { max-height: 100% !important; top: 0; }
&#13;