按键对数组进行排序

时间:2018-08-17 10:39:22

标签: javascript arrays

我很抱歉如果之前已经回答过,搜索了各种各样的可能术语,但是找不到我想要的答案。

我有一个数组,sales = [],并且销售额通过循环相加

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,
]

1 个答案:

答案 0 :(得分:2)

这是无效的语法,您混合数组和对象语法:

[ '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)

检查POSIX.1

的文档