JQuery преобразовывает целое число, чтобы представить в виде строки и отступить

Это логические шаги, которые я должен сделать с jQuery:

x 2 числа цифры (целое число), полученное из input.value ();

If  var x is **not** 33 or 44
    Convert this 2 digit number to string;
    split the string in 2 parts as number;
    Add these 2 values until they reduce to single digit;
    Return var x value as this value;
Else
    Return var x value literally as 33 or 44 whatever is the case;

Спасибо!

5
задан BalusC 2 May 2010 в 04:47
поделиться

2 ответа

Я бы попробовал:

function process (x) {
    if ((x != 33) && (x != 44)) {
        while (x > 9) {
            x = Math.floor (x / 10) + (x % 10);
        }
    }
    return x;
}

Я не вижу особых причин для преобразования его в строку, если вы можете использовать арифметические операции.

1
ответ дан 15 December 2019 в 00:54
поделиться
if (x != 33 && x != 44) {
    while (x > 9) {
        var parts = ('' + x).split('');
        x = parseInt(parts[0]) + parseInt(parts[1]);
    }
    return x;
} else {
    return x;
}    

Работает только если входные данные действительно максимум 2 цифры в длину, как вы говорите, иначе вам нужно будет добавить числа в цикле for по parts.length. Например:

if (x != 33 && x != 44) {
    while (x > 9) {
        var parts = ('' + x).split('');
        for (var x = 0, i = 0; i < parts.length; i++) {
            x += parseInt(parts[i]);
        }
    }
    return x;
} else {
    return x;
}    
3
ответ дан 15 December 2019 в 00:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: