javascript求二维数组排序

现在一个二维数组,就叫它arr啊,形式如下
arr=[[ccc],[bbb],[ccc]]
现在有一个函数count_sum(arr[0]),会计算出arr[0]的一个值,注意这个值并不是单纯的和
最后我想得到的排序结果是 count_sum(arr[0]) 最大,然后到count_sum(arr[1]) ....一直类推

var count_sum = function(arr){

return eval(arr.join('+'));

};

console.log([[2,3,4],[1,2,3],[3,3,4]].sort(function(a,b){

return count_sum(b) > count_sum(a);

}));

追问

这里的count_sum(arr[0]),已经可以计算出 arr[0] 的权值了,
我不太了解js ,能不能帮我写这种形式,

paixu(arr){
//这里用到count_sum

}
然后arr直接排序好
麻烦你

追答//  这样写的话你必须确保count_sum方法的返回值是可以通过比较运算符比较的哦
function paixu(arr){

    return arr.sort(function(a,b){
     
        return count_sum(b) > count_sum(a);
         
    });
}

追问

如上图,allLinesy就是要排序的数组,

count_line_dis(allLinesy[0])就返回allLinesy[0]的权值,

数组很长所以我才输出前面5个,结果上来看只有第一和第二个排序成功了

追答

count_line_dis 这个方法的返回值是什么 一定有返回值吗 是数字吗 还是其他

追问

是数字,就是权值

追答function paixu(arr){
    return arr.sort(function(a,b){
    
     a = count_sum(a);
     b = count_sum(b);
    
     if(b > a)
     return 1;
     if(a < b)
     return -1;
    
     return 0;
    
    });
}

// 你再试试这样 不行我也没有办法了
// 还有你这个 count_line_dis方法是不是可能有随机性 接受同一个组参数可能输出不同返回值

温馨提示:答案为网友推荐,仅供参考
相似回答