使用javascript根据另一个数组对一个数组进行排序

使用javascript根据另一个数组对一个数组进行排序,java,javascript,jquery,arrays,sorting,Java,Javascript,Jquery,Arrays,Sorting,我有两个数组 MRP[60 80 82 50 80] 品牌[A B C D E F] 我需要根据MRP获得前两个品牌。MRP中最高的两个是82,80,但80重复了3次,所以我需要所有重复的值,以及获得前两个品牌。i、 e我需要显示[C B e F] 为此,我将MRP按降序排序。现在排序后的MRP变成了[82 80 60 50] 现在我需要根据已排序的MRP对品牌数组进行排序。有人可以使用javascript帮助进行排序。尝试下面的代码 var A = [60, 80, 82, 50, 80, 8

我有两个数组

  • MRP
    [60 80 82 50 80]
  • 品牌
    [A B C D E F]
  • 我需要根据MRP获得前两个品牌。MRP中最高的两个是82,80,但80重复了3次,所以我需要所有重复的值,以及获得前两个品牌。i、 e我需要显示
    [C B e F]

    为此,我将MRP按降序排序。现在排序后的MRP变成了
    [82 80 60 50]

    现在我需要根据已排序的MRP对品牌数组进行排序。有人可以使用javascript帮助进行排序。

    尝试下面的代码

    var A = [60, 80, 82, 50, 80, 80];
    var B = ['a', 'b', 'c', 'd', 'e', 'f'];
    
    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 < all.length; i++) {
       A.push(all[i].A);
       B.push(all[i].B);
    }    
    
    alert(A);
    alert( B);
    
    var A=[60,80,82,50,80,80];
    变量B=['a','B','c','d','e','f'];
    var all=[];
    对于(变量i=0;i
    使用lodash/下划线:

    var A = [60, 80, 82, 50, 80, 80];
    var B = ['a', 'b', 'c', 'd', 'e', 'f'];
    
    var result = _.unzip(_.sortBy(_.zip(A, B), '-0'));
    
    var A_sorted = result[0]; // [82, 80, 80, 80, 60, 50]
    var B_sorted = result[1]; // ["c", "b", "e", "f", "a", "d"]]
    

    到目前为止你自己有没有尝试过?这是Java还是JavaScript?@ZiNNED我只排序了第一个数组ie MRP bt而不是品牌。但现在我在随后的帖子中得到了Nishanthi Grashia共享的解决方案。很高兴能提供帮助!如果有帮助,请投票并接受作为答案。