简体   繁体   English

数组元素未显示在 Javascript 中

[英]Array elements not displaying in Javascript

I am new to Javascript.我是 Javascript 的新手。 Below is simple program where I am trying to display elements from array that I have created.下面是一个简单的程序,我试图在其中显示我创建的数组中的元素。 It does not work.这是行不通的。 Can anybody please let me know what I am doing wrong?有人可以让我知道我做错了什么吗?

<!DOCTYPE html>
<head>
    <meta charset="utf-8">
    <title>Javascript Excercises - Functions</title>
    <script>            
        function findPrimeFactors(){
            var primefacts = [];
            var primefacs;
            var unum = prompt("Please enter a positive number");
            var i = 2;
            var num = parseInt(unum);

            if (num > 0) {             


                while (num >= i){
                    if (num % i == 0){
                        primefacts.push(i);
                        num = num / i;

                        console.log("Prime factor: " + i + " New num: " + num + " Array length: " + primefacts.length + " Last array element: " + primefacts[primefacts.length-1]); 
                    }
                    else {
                        i += 1;
                    }

                };


                if (primefacts.length = 0) {
                    document.write("No prime factors other than 1 for this number.");
                }
                else {
                    primefacs = primefacts.join();
                    console.log("Prime factors: " + primefacts[0] + ", " + primefacts[1] + ", " + primefacts[2]);
                    document.write("The prime factor for " + unum + " are : " + primefacs);
                }

            }
        }
    </script>
</head>
<body>        
    <button  onclick="findPrimeFactors()">Click to proceed</button>
</body>

replace:-代替:-

if (primefacts.length = 0) {

with

if (primefacts.length == 0) {

you are setting the length to 0 instead of comparing.您将length设置为 0 而不是比较。

 function findPrimeFactors() { var primefacts = []; var primefacs; var unum = prompt("Please enter a positive number"); var i = 2; var num = parseInt(unum); if (num > 0) { while (num >= i) { if (num % i == 0) { primefacts.push(i); num = num / i; console.log("Prime factor: " + i + " New num: " + num + " Array length: " + primefacts.length + " Last array element: " + primefacts[primefacts.length - 1]); } else { i += 1; } }; if (primefacts.length == 0) { document.write("No prime factors other than 1 for this number."); } else { primefacs = primefacts.join(); console.log("Prime factors: " + primefacts[0] + ", " + primefacts[1] + ", " + primefacts[2]); document.write("The prime factor for " + unum + " are : " + primefacs); } } }
 <button onclick="findPrimeFactors()">Click to proceed</button>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM