首页 > 解决方案 > 按键对数组进行排序

问题描述

如果之前已经回答过这个问题,我深表歉意,搜索了大量可能的术语,但找不到我正在寻找的答案。

我有一个数组,sales = [],并且 sales 正在通过 aa 循环添加

for(var i=0; i<json.sales.length; i++) {
 sales[parseFloat(json.sales[i][0])] = parseFloat(json.sales[i][1])
}

感谢任何输入

数组输出:

[ '0.00000979': 1730,
  '0.00000969': 206,
  '0.00000955': 3141,
  '0.00000951': 525,
  '0.00000941': 159,
  '0.0000095': 1000,
]

预计出局

[ '0.00000979': 1730,
  '0.00000969': 206,
  '0.00000955': 3141,
  '0.00000951': 525,
  '0.0000095': 1000,
  '0.00000941': 159,
]

标签: javascriptarrays

解决方案


这在无效语法中,您正在混合数组和对象语法:

[ '0.00000979': 1730,
  '0.00000969': 206,
  '0.00000955': 3141,
  '0.00000951': 525,
  '0.00000941': 159,
  '0.0000095': 1000,
]

为了能够排序,您需要一个有效的数组,实际上是一个数组数组

var data = [ 
  [0.00000979, 1730],
  [0.00000969, 206],
  [0.00000955, 3141],
  [0.00000951, 525],
  [0.00000941, 159],
  [0.0000095, 1000]
]

var sortedData = data.sort((a, b)=>a[0] < b[0]);
console.log(sortedData)

检查sort() 方法的文档


推荐阅读