我有一个包含 arr = [1,3,34,44,4,45,6,76,9,98,23]
的数组,并希望从上面的数组。 O/P 编号为 99876645444343231。
我尝试对这些数字集进行处理,这对 2 位数字工作正常,但不能超过 2 位数字。谁能提出一个通用的答案?
最佳答案
您可以采用一个数组,其中包含字符串值和 a
和 b
的连接值以及 b
和 a 的值
取其delta进行排序,反射(reflect)两个字符串的排序顺序,取较大的值供后面join。
function getLargest(array) {
return array
.map(String)
.sort((a, b) => (b + a) - (a + b))
.join('');
}
console.log(getLargest([1, 3, 34, 44, 4, 45, 6, 76, 9, 98, 23]));
与返回错误结果(第二行)的简单字符串降序比较。
function getLargest(array) {
return array
.map(String)
.sort((a, b) => (b + a) - (a + b))
.join('');
}
console.log(getLargest([1, 3, 34, 44, 4, 45, 6, 76, 9, 98, 23]));
console.log([1, 3, 34, 44, 4, 45, 6, 76, 9, 98, 23].sort().reverse().join(''));
关于javascript - 如何从javaScript中的一组数组中形成最大数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49530968/