首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >数字的数字之和

数字的数字之和
EN

Stack Overflow用户
提问于 2016-02-28 05:27:24
回答 4查看 3.1K关注 0票数 2

我想用JavaScript做一个程序,它把一个数字的数字相加,直到结果中的数字数为1。

示例:

代码语言:javascript
运行
复制
57 = 5 + 7 = 12 = 1 + 2 = 3.

我制作了一个程序,完成了一半的工作。就在这里

代码语言:javascript
运行
复制
<!DOCTYPE html>
<html>

<head>
    <title>Try</title>
    <style type="text/css">

    </style>
</head>

<body>
    <form><input type="text" onkeyup="sumofDigits(this.value)"></input>
    </form>
    <h1></h1>
    <script type="text/javascript">
        function sumofDigits(number) {
            var num = number.toString();
            var sum = 0;

            for (var i = 0; i < num.length; i++) {
                sum += parseInt(num.charAt(i), 10);
            }

            document.querySelector('h1').innerHTML = sum;
        }
    </script>
</body>

</html>
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-02-28 06:52:19

这里不需要字符串函数。您可以在mod(%操作)的帮助下简单地到达结果。

代码语言:javascript
运行
复制
function sumDigits(number) {
      document.querySelector('h1').innerHTML = ((number-1)%9+1);
}
票数 7
EN

Stack Overflow用户

发布于 2016-02-28 05:43:28

这样就行了。

代码语言:javascript
运行
复制
function sumDigits(number) {
    var num = number.toString();

    while (num.length != 1) {
        var sum = 0;
        for (var i = 0; i < num.length; i++) {
            sum += parseInt(num.charAt(i), 10);
        }
        num = sum.toString();
        document.querySelector('h1').innerHTML = sum;
    }
}
票数 2
EN

Stack Overflow用户

发布于 2016-02-28 05:48:31

代码语言:javascript
运行
复制
function sumDigits(number) {
    var str = number.toString();
    var sum = 0;

    for (var i = 0; i < str.length; i++) {
        sum += parseInt(str.charAt(i), 10);
    }

    if (sum > 9)  
        sumDigits(sum);
      else           
        document.querySelector('h1').innerHTML = sum;

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35679073

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档