我有一个动态数组,如下所示,它将显示在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)显示相同的日期.. 请帮助我获取数组中重复值的相应索引。 如果您需要更多信息,请回复
答案 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);
这个解决方案可以解决你的问题,请看看这些它会给你预期的结果。
我正在使用哈希进行排序,以便每个键都具有正确的值。