Muszę utworzyć funkcję sortowania ciągu liczb na podstawie "wagi" każdej liczby - "waga" to cyfry sumowanych razem (waga 99 wynosi 18, waga 100 wynosiłaby 1 itd. itd.). Oznacza to, że ciąg "100 54 32 62"
zwróci "100 32 62 54"
.Jak sortować jedną tablicę na podstawie sposobu sortowania innego? (Javascript)
mogę dostać tablicę ciężarów tych liczb tylko przy użyciu drobnych:
function orderWeight(str) {
var arr = str.split(" ");
var sortArr = [];
arr.forEach(t => sortArr.push(t.split("").map(s => parseInt(s, 10)).reduce(add, 0)));
}
gdzie add
jest tylko ogólna funkcja dodatkiem. W powyższym przykładzie sortArr
będzie [1, 9, 5, 8]
.
Jaki jest najlepszy sposób na posortowanie tablicy oryginalnych liczb z ciągu arr
w oparciu o sposób sortowania nowych tablic liczb o numerach sortArr
?
Dzięki!
zadziałał jak czar! Dziękuję. praktyka z rekurencją – joh04667
Powinieneś edytować to, aby pokazać składnię ES6, jak OP używa –
@Sterling - Nie jestem pewien, co masz na myśli, proszę opracuj, abym mógł zaktualizować odpowiedź ... dzięki – Will