根据每个数组中的值对对象内的数组进行排序

时间:2015-04-24 11:22:40

标签: javascript object

我有一个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。而且也可能是两者之间存在缺失值。

2 个答案:

答案 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]。