2
我有钥匙阵列,可能是无论是实际的字符串检查数组键是数字
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) {
……
});
您可以使用'''typeof运算指数=== “字符串”''' –
你不能。 [这是原因和讨论](http://stackoverflow.com/questions/3633362/is-there-anyway-to-use-a-numeric-type-as-an-object-key) –
对象不必须保持物业的秩序! –