Jquery / Javascript,使用索引进行动态数组排序

时间:2017-07-03 09:48:01

标签: javascript jquery

我有一个动态数组,如下所示,它将显示在Hightchat中,并使用日期作为相同的索引 [34,23,44,34,0,0,23,23,40,0,0,0,0,0,10] 在此之后将对数组进行排序并获得前10个最高的数组列表,如下所示 [44,40,34,34,23,23,23,10,0,0] 我在这里遇到的问题是重复的数字,如(34,34,23,23 ....)我得到的日期与索引相同(例如考虑34我有和日期23/04/2017作为索引..数字(34,34)显示相同的日期.. 请帮助我获取数组中重复值的相应索引。 如果您需要更多信息,请回复

1 个答案:

答案 0 :(得分:0)

var A = [34,23,44,34,0,0,23,23,40,0,0,0,0,0,10];
var B = ['23/04/2017','24/04/2017','25/04/2017','26/04/2017','27/04/2017','28/04/2017','29/04/2017','30/04/2017','01/05/2017','02/05/2017','03/05/2017','04/05/2017','05/05/2017','06/05/2017','07/05/2017'];

var all = [];

for (var i = 0; i < B.length; i++) {
  all.push({ 'A': A[i], 'B': B[i] });
 }

all.sort(function(a, b) {
   return b.A - a.A;
 });

 A = [];
 B = [];

 for (var i = 0; i < 10; i++) {
  A.push(all[i].A);
  B.push(all[i].B);
 }    

 console.log(A, B);

这个解决方案可以解决你的问题,请看看这些它会给你预期的结果。

我正在使用哈希进行排序,以便每个键都具有正确的值。