Javascript 当我单击“随机”时,它会显示[object object],而不是数组数据
代码存储表单中的数据并在列表中显示,当我单击“随机”时,它应该显示数组中的随机值,但它不显示,它显示[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/>
<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:编辑后的代码应可用于此目的。在用尽所有可能的值后,将刷新随机值。