首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaScript无限循环

JavaScript无限循环
EN

Stack Overflow用户
提问于 2017-12-17 04:57:26
回答 0查看 91关注 0票数 2

我正在制作JavaScript算法,它生成简单的数学问题(问题),所有可能的组合都按随机顺序进行。

e.x。

1+2

3+5

7+2

3+1

有效的组合是加数字。问题是当我尝试生成带负号的数字时。算法生成的第一个数应该大于第二个数

e.x。

firstNumber(较大)-secondNumber(较低)

5-3

4-1

2-5(不可能)

不管怎么说,代码执行无限循环,我搞不懂。请提供工作示例的帮助。如果你有任何问题,请写在评论区。感谢您的帮助:)

代码语言:javascript
复制
<html>
    <p id='plus10'></p>
    <p id='minus10'></p>
    <p id='plus100'></p>
    <p id='minus100'></p>

    <script>
        arr2 = [];
        var lastArr2 = [];
        var num1, num2;

        while(lastArr2.length < 121) {
            arr2.push('<br>' + Math.round(Math.random() * 10) + '+' + Math.round(Math.random() * 10) + '=');
            lastArr2 = removeDuplicates(arr2);
        }

        document.getElementById('plus10').innerHTML = (lastArr2.join(' '));

        arr1 = [];
        var lastArr1 = [];

        while(lastArr1.length < 121) {
            arr1.push('<br>' + Math.round(Math.random() * 100) + '+' + Math.round(Math.random() * 100) + '=');
            lastArr1 = removeDuplicates(arr1);
        }

        document.getElementById('plus100').innerHTML = (lastArr1.join(' '));

        arr3 = [];
        var lastArr3 = [];

        while(lastArr3.length < 121) {
            gen();
        }

        function gen() {
            //minus function
            num1 = Math.round(Math.random() * 10);
            num2 = Math.round(Math.random() * 10);

            if(num1 < num2) {
                gen();
            } else {
                lastArr3 = removeDuplicates(arr3);
                arr3.push(num1 + '-' + num2 + '=');
            }
        }

        document.getElementById('minus10').innerHTML = (lastArr3.join(' '));

        function removeDuplicates(arr) {
            let unique_array = []
            for(let i = 0; i < arr.length; i++) {
                if(unique_array.indexOf(arr[i]) == -1) {
                    unique_array.push(arr[i])
                }
            }
            return unique_array
        }
    </script>
</html>
EN

回答

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

https://stackoverflow.com/questions/47849878

复制
相关文章

相似问题

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