数组元素未在Javascript中显示

数组元素未在Javascript中显示,javascript,arrays,Javascript,Arrays,我是Javascript新手。下面是一个简单的程序,我试图显示我创建的数组中的元素。它不起作用。谁能告诉我我做错了什么 <!DOCTYPE html> <head> <meta charset="utf-8"> <title>Javascript Excercises - Functions</title> <script> function findPrime

我是Javascript新手。下面是一个简单的程序,我试图显示我创建的数组中的元素。它不起作用。谁能告诉我我做错了什么

<!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>

Javascript练习-函数
函数findPrimeFactors(){
var primefacts=[];
var-primefacs;
var unum=提示(“请输入正数”);
var i=2;
var num=parseInt(unum);
如果(num>0){
while(num>=i){
如果(num%i==0){
基本事实。推(i);
num=num/i;
log(“主因子:+i+”新数值:+num+”数组长度:“+primefacts.length+”最后一个数组元素:“+primefacts[primefacts.length-1]);
}
否则{
i+=1;
}
};
if(primefacts.length=0){
写下(“对于这个数字,除了1之外,没有其他的基本因子。”);
}
否则{
primefacs=primefacts.join();
log(“基本因子:“+primefacts[0]+”、“+primefacts[1]+”、“+primefacts[2]);
编写文件(“联合国大学+”的主要因素是:“+primefacs”);
}
}
}
单击以继续

更换:-

if (primefacts.length = 0) {

您正在将
长度设置为0,而不是比较

函数findPrimeFactors(){
var primefacts=[];
var-primefacs;
var unum=提示(“请输入正数”);
var i=2;
var num=parseInt(unum);
如果(数值>0){
while(num>=i){
如果(num%i==0){
基本事实。推(i);
num=num/i;
log(“主因子:+i+”新数值:+num+”数组长度:“+primefacts.length+”最后一个数组元素:“+primefacts[primefacts.length-1]);
}否则{
i+=1;
}
};
if(primefacts.length==0){
写下(“对于这个数字,除了1之外,没有其他的基本因子。”);
}否则{
primefacs=primefacts.join();
log(“基本因子:“+primefacts[0]+”、“+primefacts[1]+”、“+primefacts[2]);
编写文件(“联合国大学+”的主要因素是:“+primefacs”);
}
}
}

单击继续
您可以添加一个工作代码吗?那个代码格式不好,很难理解。对不起,你能详细解释一下吗?我不知道你的意思。点击我在前面评论中的链接,你会看到我的意思。请阅读,并相应地回答你的问题,使之更好。“它不起作用”并不是一个足够的问题描述。有人真的认为“这个问题表明了研究的努力;它是有用的和明确的”?如果你花点时间看代码,这个问题会比那个问题多得多。要详细说明吗?是的,但是让代码像日志一样工作,然后写下数字,这就是问题所在。小提琴-这实际上并不能解决按钮调用失败的问题。解决这个问题,编辑你的答案以反映它,我将取消我的否决票。它会触发点击。只是片段被沙盒化了,不允许提示。请参阅控制台:-忽略了对“prompt()”的调用。文档是沙盒的,并且没有设置'allow modals'关键字。啊,你说得对。我没有意识到导致问题的
allow modals
位。向下一票改为向上一票。
if (primefacts.length == 0) {