5 个回答

先对数组进行从大到小排序,再输出:

var arr = [7, 5, 52, 3];
arr.sort();
var max = parseInt(arr.join(''));
alert(arr);
alert(max);

如果不想修改原数组,最好深拷贝一个数组出来再做处理。

function test(arr){
    var a = arr.sort();
    var str = '';
    for(var i = a.length - 1; i >= 0; i--){
        str += a[i];
    }
    return parseInt(str);
}

//错的...再改

function test(arr){ 
    function ccc(a,b){
        return (b+a.toString()) - (a.toString()+b);
    }
    var newarr = arr.sort(ccc);
    var str = newarr.join('');
    return parseInt(str);
}

//不是数字直接排序

由大到小排序么。。。。

parseInt([7, 5, 52, 3].sort((a, b) => (b.toString() + a)  - (a.toString() + b)).join(''));
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题