我有一个JavaScript对象:
var javascriptObj = response[Object.keys(response)[Object.keys(response).length - 1]]
看起来像这样:
[["1", 121], ["10", 58], ["2", 69], ["3", 246], ["4", 3], ["5", 446], ["6", 124], ["7", 396], ["8", 190], ["9", 46]]
有没有办法将值(" 1"," 2"," 3")转换为整数,然后根据此数字对对象进行排序?
EDITED
价值观并不总是保持不变。有时是1到5或8-13。而且也可能是两者之间存在缺失值。
答案 0 :(得分:2)
试试这个:
var javascriptObj = [["1", 121], ["10", 58], ["2", 69], ["3", 246], ["4", 3], ["5", 446], ["6", 124], ["7", 396], ["8", 190], ["9", 46]];
var output = javascriptObj.map(function(array) {
return [+array[0], array[1]];
}).sort(function(a, b) {
return a[0]-b[0];
});
document.getElementsByTagName('div')[0].innerHTML = JSON.stringify(output);
<div></div>
答案 1 :(得分:1)
尝试这样的事情......
myArray.sort(function(a, b) {return parseInt(a[0], 10) - parseInt(b[0], 10)});
更新:将[1]和b [1]更改为[0]和b [0]。