var count=0 ;
for(var x=0; x<data_len; x++)
{
count = count + num_arr[x];
}
// alert(count);
Если count = 352
Я хочу добавить 3 + 5 + 2, который является 10, а затем 1 + 0, который равен 1.Как добавить переменную в javascript?
var count=0 ;
for(var x=0; x<data_len; x++)
{
count = count + num_arr[x];
}
// alert(count);
Если count = 352
Я хочу добавить 3 + 5 + 2, который является 10, а затем 1 + 0, который равен 1.Как добавить переменную в javascript?
function sumParts(x) {
var sumX = 0;
var strX = x.toString();
var arrX = strX.split("");
for (a = 0; a < arrX.length; a++) {
sumX += parseInt(arrX[a], 10);
};
return sumX;
}
y = sumParts(count);
z = sumParts(y);
// y = 10; (3 + 5 + 2)
// z = 1; (1 + 0)
И, я считаю (не тестировалось), если return был изменен на return sumParts(sumX)
, он будет продолжаться до тех пор, пока он не станет целым числом в одну цифру.
Спасибо за ответ .. но я получаю значение -2 ИЛИ -1 из z зависит от count – user40138
sumX возвращает -1 внутри цикла – user40138
sumX + = parseInt (arrX.indexOf (a), 10); Здесь нет необходимости использовать индекс i, чтобы получить его через sumX + = parseInt (arrX [a], 10); Спасибо за решение – user40138
У вас есть массив строк, а не чисел. Вы можете преобразовать их в числа с:
count = count + +num_arr[x];
Второй +
является унарный плюс, и ввергнут num_arr[x]
к ряду.
Если ваши номера все целые числа, вы можете использовать:
count = count + parseInt(num_arr[x], 10);
или (если у вас есть поплавки):
count = count + parseFloat(num_arr[x]);
count
Преобразовать в строку:
var count = 352;
count += ''; // makes a string : "352"
while (count.length > 1) {
count = Function('return ' + count.split('').join('+') + ';')() + '';
}
Эта часть:
Function('return ' + count.split('').join('+') + ';')
дает последовательно:
function() { return 3+5+2; }
function() { return 1+0; }
Ваш массив должен быть числовых строк, а не целые числа. используйте [parseInt (num_arr [x], 10) '] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt), чтобы получить правильное целое число. –
Действительно, ваш вопрос немного неясен - слишком плохо, это было интересно. Интересно, правильно ли я ответил или нет, дайте мне знать :) ⇨ http://stackoverflow.com/a/22164643/1636522. – leaf