Я пытаюсь найти вызов на веб-сайте обучения JavaScript.Преобразование строки Javascript и сортировка массива
Инструкции:
Было решено приписать «вес» к номерам. Вес номера будет теперь от суммы его цифр. Например, 99 будет иметь «вес» 18, 100 будет иметь «вес» 1, поэтому в списке 100 будет до 99. С учетом строки с веса членов FFC в нормальный порядок вы можете дать эту строку, заказанную «весами» этих номеров?
Пример: а = "56 65 74 100 99 68 86 180 90" по заказу чисел весов становится: "100 180 90 56 65 74 68 86 99" Когда два числа имеют один и тот же "вес", давайте классифицируйте их так, как если бы они были строками, а не номерами: 100 до 180, потому что его «вес» (1) меньше, чем один из 180 (9) и 180 - до 90, поскольку с тем же «весом» (9) это предшествует как строка. Все номера в списке положительные номеров, и список может быть пустым.
Моя попытка ниже:
function orderWeight(strng) {
console.log(strng);
if (strng === "") {
return strng;
} else {
var arr = strng.split(" ").sort();
console.log(arr);
var keys = [];
for (var i = 0; i < arr.length; i++) {
var weight = 0;
var current = arr[i];
//loop through the array adding the digits of each number
for (var j = 0; j < arr[i].length; j++) {
var sNum = parseInt(arr[i].charAt[j]);
weight += sNum;
console.log(weight);
}
keys.push({
weight: weight,
number: current
});
console.log(keys);
}
}
};
Выход из моего кода:
input string "103 123 4444 99 2000"
console.log(arr); = [ '103', '123', '2000', '4444', '99' ]
console.log(weight); = NaN
Я понимаю, что нужно будет делать больше после того, как я получаю это часть кода работает, но если кто-то может просто указать мне в направлении получения этой части, чтобы сделать то, что я хочу, я был бы очень признателен.
Просто любопытство. Я попробовал, это правильно? http://jsfiddle.net/umdg3h9z/ – blex