javascript - 如何在javascript中打印数组?

标签 javascript html

当用户单击值 3 输入框时,我想通过从用户那里获取输入来打印数组,而不是 3 输入框将显示他可以放置值的位置,但是当我尝试提交数组但没有打印任何元素并且打印值是元素未定义

var arr=[0];
function get_value()
{
    var n=parseInt(document.getElementById("n").value);
        
    var div=document.getElementById("add");
    var add='';

    for(var i=0;i<n;i++)
    {
        add=add+"<br>Enter "+(i+1)+" value : <input type='text' id='arr"+i+"'  id='arr' name='mytext'><br>";
    }

    add=add+"<input type='button' onclick='arr_sub()' value='Submit Array'>";
    div.innerHTML =add;
}

function arr_sub()
{
    for(i=0;i<n;i++)
    {
        arr[i] = parseInt(document.getElementById("arr").value);
        parseInt(document.getElementById("arr").value)="";
        
    }
    for(var y=0;y<arr.length;y++)
    var e = "<hr/>";
    {
        e += "Element is "+arr[y]+"<br>";
    }
    document.getElementById("show").innerHTML = e;
    
}
<html>
    <head>
           
    </head>
<body>
    Enter Array Size : <input type="text" name="num" id="n">
    <input type="button" value="submit" onclick="get_value()">
    <div id="add">
    </div>
    <div id="show"></div>
    <script src="javascript.js" type="text/javascript"></script> 
</body>
</html>

强文本

最佳答案

我修复了错误并对您的代码进行了一些改进;花点时间调查发生了什么变化;老兄,一般来说,不要使用 var;总是更喜欢 letconst 而不是 var。大多数错误是由使用 var 和捕获 closure 引起的。也更喜欢Template literals通过 + 运算符手动连接字符串;

let arr=[];
let n;
function get_value()
{
    n = parseInt(document.getElementById("n").value);
    let div=document.getElementById("add");
    let add='';
    for(let i=0;i<n;i++){
        add=add+`<br>Enter ${i+1} value : <input type='text' id='arr${i}' name='mytext'><br>`;
    }
    add=add+`<input type='button' onclick='arr_sub()' value='Submit Array'>`;
    div.innerHTML =add;
}

function arr_sub()
{
    for(let j=0;j<n;j++){
        arr[j] = parseInt(document.getElementById("arr"+j).value);
       document.getElementById("arr"+j).value="";
    }
    let e = "<hr/>";
    let show = document.getElementById("show");
    show.innerHTML = "";
    for(let y=0;y<arr.length;y++){
        e += "Elements is "+arr[y]+"<br>";
    }
    show.innerHTML = e;
}
<html>
    <head>
           
    </head>
<body>
    Enter Array Size : <input type="text" name="num" id="n">
    <input type="button" value="submit" onclick="get_value()">
    <div id="add">
    </div>
    <div id="show"></div>
    <script src="javascript.js" type="text/javascript"></script> 
</body>
</html>

关于javascript - 如何在javascript中打印数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60463598/

相关文章:

JavaScript 获取属性

javascript - 为什么我无法在 cordova 中访问全局 JS 变量?

javascript - 使用 javascript/jquery 伪造 Gif

html - 滚动条不可点击/不可拖动

java - 从 JAVA 中的字符串中提取 CSS 样式

javascript - 如果 js 确认返回 false,则重置回选择字段上的上一个选项

javascript - 如何使用 Next Button 或 Tab 通向另一个 Form 创建多个表

javascript - 如何在 Otree 应用程序上为蜂窝网络提供键盘

带有变量的 PHP ORDER BY

php - <button> 相同按钮,多个位置,不同代码