Devo creare una funzione per ordinare una stringa di numeri basata sul 'peso' di ogni numero - il 'peso' è le cifre dei numeri sommati insieme (il peso di 99 sarebbe 18, il il peso di 100 sarebbe 1, ecc. ecc.). Ciò significa che una stringa "100 54 32 62"
restituirà "100 32 62 54"
.Come ordinare un array in base a come viene ordinato un altro? (Javascript)
posso ottenere una matrice dei pesi di questi numeri che bene utilizzando:
function orderWeight(str) {
var arr = str.split(" ");
var sortArr = [];
arr.forEach(t => sortArr.push(t.split("").map(s => parseInt(s, 10)).reduce(add, 0)));
}
dove add
è solo una funzione aggiunta generica. Per l'esempio sopra, sortArr
sarebbe [1, 9, 5, 8]
.
Qual è il modo migliore per ordinare la matrice dei numeri originali dalla stringa arr
in base alla modalità di ordinamento della nuova matrice del numero ponderale sortArr
?
Grazie!
ha funzionato come un incantesimo! Grazie. – joh04667
Si dovrebbe modificare questo per mostrare la sintassi ES6 come OP sta usando –
@Sterling - Non sono sicuro di cosa intendi, per favore elabora in modo da poter aggiornare la risposta ... grazie – Will