2017-07-03 180 views
0

我有一个动态数组,如下所示,它将显示在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).. 请帮助我获得重复值在数组中的各自索引.. 如果您需要更多信息,请回复Jquery/Javascript,索引动态数组排序

+0

因此,你不希望排序后前10名最高列表中的数组重复值? –

+0

请您发布一个适当的输入和输出方案,以便我们知道你到底在哪里,并相应地帮助你? –

+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); 

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

我使用散列进行排序,以便每个键都有正确的值。