Javascript 当我单击“随机”时,它会显示[object object],而不是数组数据

Javascript 当我单击“随机”时,它会显示[object object],而不是数组数据,javascript,arraylist,Javascript,Arraylist,代码存储表单中的数据并在列表中显示,当我单击“随机”时,它应该显示数组中的随机值,但它不显示,它显示[object object],随机值不应该重复 <form > First Name<input id = "name1" required/> Last Name <input id ="name2" required/> City <input id ="city" required/>

代码存储表单中的数据并在列表中显示,当我单击“随机”时,它应该显示数组中的随机值,但它不显示,它显示[object object],随机值不应该重复

 <form >
        First Name<input id = "name1" required/> 
        Last Name <input id ="name2"  required/> 
        City <input id ="city"  required/>
        </form>

          <button onclick="getResult()" >SUBMIT</button>
          <button onclick="getData()">Random</button>
        <br><br>
    <p id="store"></p>
        <br>
        Random Data:<output id="info"/>
        <h3>Student Data </h3>
        <output id="out"/>



        <script>

        var arr=[];
        function getResult(){
        var name1 = document.getElementById('name1').value;
        var name2 =document.getElementById('name2').value;
        var city = document.getElementById('city').value;
        var students={
        firstName:name1,lastName:name2,cityName:city
        }
        arr.push(students);
        var k='';
        for(var g=0;g<arr.length;g++)
        k=k+" <li>"+eval(g+1)+'.'+arr[g].firstName+" "+arr[g].lastName+" "+arr[g].cityName+"       </li>";
    document.getElementById('out').innerHTML = k;
        document.getElementById('name1').value="";
        document.getElementById('name2').value="";
    document.getElementById('city').value="";
     document.getElementById('store').innerHTML='Number of students = ' +arr.length +'';
    }



    function getData(){
    var rand = arr[Math.floor(Math.random() * arr.length)];  
    var el=document.getElementById('info')
    el.innerHTML=rand;

    }



        </script>

名字
姓
城市
提交
随机的



随机数据: 学生数据 var-arr=[]; 函数getResult(){ var name1=document.getElementById('name1').value; var name2=document.getElementById('name2').value; var city=document.getElementById('city')。值; var学生={ 名字:名字1,姓氏:名字2,城市名称:城市 } arr.push(学生); var k='';
对于(var g=0;g而言,以下问题是否解决:

var arr=[];
var arrfornd=[];
函数getResult(){
var name1=document.getElementById('name1').value;
var name2=document.getElementById('name2').value;
var city=document.getElementById('city')。值;
var学生={
名字:名字1,姓氏:名字2,城市名称:城市
}
arr.push(学生);
推送(学生);
var k='';

对于(var g=0;g而言,以下问题是否解决:

var arr=[];
var arrfornd=[];
函数getResult(){
var name1=document.getElementById('name1').value;
var name2=document.getElementById('name2').value;
var city=document.getElementById('city')。值;
var学生={
名字:名字1,姓氏:名字2,城市名称:城市
}
arr.push(学生);
推送(学生);
var k='';

对于(var g=0;g您将获得
对象
,因为您已将
对象
推入数组,并从
数组
返回
对象
。因此您需要从
对象
获取属性,并在
div
中显示它们

function getData(){
    var rand = arr[Math.floor(Math.random() * arr.length)];  
    var el=document.getElementById('info')
    el.innerHTML=rand.firstName;
}

您正在获取
对象
,因为您已将
对象
推入数组,并且正在从
数组
获取
对象
。因此,您需要从
对象
获取属性,并在
div
中显示它们

function getData(){
    var rand = arr[Math.floor(Math.random() * arr.length)];  
    var el=document.getElementById('info')
    el.innerHTML=rand.firstName;
}

是的,这很有帮助,但如何避免重复result@UmarSatti:你能详细说明不重复结果是什么意思吗?我的意思是,如果有5个值,单击5次,所有5个值都应该不同,并且random@UmarSatti:编辑后的代码应可用于此目的。在用尽所有可能的值后,将刷新随机值。是t他的建议很有帮助,但怎样才能不重蹈覆辙呢result@UmarSatti:你能详细说明不重复结果是什么意思吗?我的意思是,如果有5个值,单击5次,所有5个值都应该不同,并且random@UmarSatti:编辑后的代码应可用于此目的。在用尽所有可能的值后,将刷新随机值。