我的数组中包含可能是真正字符串的键
var array = {
'Blue' : 1,
'Red' : 2,
'Green': 3
}
或者它可能是数字,但有时浮点数被认为是字符串,我想因为它不是数组而是对象:
var array = {
9 : 1,
'9.5' : 2,
10 : 3
'10.5': 4
}
这个实际上不是一个数组,所以如果我想保留原始顺序,我需要对它进行排序:
$.each(Object.keys(array).sort(function(a, b) {
var anum = parseFloat(a),
bnum = parseFloat(b);
return anum - bnum;
}), function(index, value) {
……
});
如果我不这样做,我的阵列是:
var array = {
9 : 1,
10 : 3,
'9.5' : 2
'10.5': 4
}
我需要对它进行排序。我的解决方案运行良好但我需要检查密钥是数字还是字符串。如果它们是字符串,我不需要对数组进行排序。类似的东西:
$.each(/*if my array has numbers as keys I sort the array as above, else just loop*/,
function(index, value) {
……
});
答案 0 :(得分:5)
真的不应该调用该对象'数组'但是:
if(Object.keys(array).every(key => !isNaN(key)){ //sort }