【发布时间】:2015-12-21 21:26:08
【问题描述】:
我必须创建一个函数来根据每个数字的“权重”对一串数字进行排序——“权重”是数字加在一起的数字(99 的权重为 18,权重为100 将是 1,依此类推)。这意味着字符串"100 54 32 62" 将返回"100 32 62 54"。
我可以使用以下方法获得这些数字的权重数组:
function orderWeight(str) {
var arr = str.split(" ");
var sortArr = [];
arr.forEach(t => sortArr.push(t.split("").map(s => parseInt(s, 10)).reduce(add, 0)));
}
其中add 只是一个通用的加法函数。对于上面的示例,sortArr 将是 [1, 9, 5, 8]。
根据新的数字权重数组sortArr 的排序方式,对字符串arr 中的原始数字数组进行排序的最佳方法是什么?
谢谢!
【问题讨论】:
标签: javascript arrays algorithm sorting