为了账号安全,请及时绑定邮箱和手机立即绑定

为什么空值插入到表中?

为什么空值插入到表中?

侃侃尔雅 2021-12-23 15:43:10
我正在尝试使用提示将姓名和年龄插入 HTML 表中。但是它在结果中插入了空值,你能为此实现一个解决方案吗?先感谢您!var i = 0;var n = new Array();var a = new Array();var name = " ",  age = " ";while (!(name == null || age == null)) {  name = prompt("Enter name: ");  age = prompt("Enter age: ");  n[i] = name;  a[i] = age;  i++;}document.writeln("<table border='1' width='25%'>");document.writeln("<caption>Arrays</caption>");document.writeln("<th>Name</th><th>Age</th>");for (var k in n) {  if (!(k == null))    document.writeln("<tr><td>" + n[k] + "</td><td>" + a[k] + "</td></tr>");}document.write("</table>");<h2>JavaScript Arrays</h2><p>JavaScript array elements are accesses using numeric indexes (starting from 0).</p><p id="demo"></p>
查看完整描述

2 回答

?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

那是因为您在提示之前检查空值。在提供姓名或年龄后使用条件。


while(true){

   name=prompt("Enter name: ");

   age=prompt("Enter age: ");

   if(name==null || age==null) break;

   n[i]=name;

   a[i]=age;

   i++;

}


查看完整回答
反对 回复 2021-12-23
?
手掌心

TA贡献1942条经验 获得超3个赞

提示功能null在取消/退出时返回。


这在prompt的MDN 文档中有解释。为了避免null在您的 html 表中打印,您只需要在它存在时打印它。


这是具有正确条件的代码:


var i = 0;

var n = new Array();

var a = new Array();

var name = " ",

  age = " ";


while (!(name == null || age == null)) {

  name = prompt("Enter name: ");

  age = prompt("Enter age: ");

  n[i] = name;

  a[i] = age;

  i++;

}


document.writeln("<table border='1' width='25%'>");

document.writeln("<caption>Arrays</caption>");

document.writeln("<th>Name</th><th>Age</th>");


for (var k in n) {

  if(n[k] !== null && a[k] !== null)

    document.writeln("<tr><td>" + n[k] + "</td><td>" + a[k] + "</td></tr>");

}

document.write("</table>");

<h2>JavaScript Arrays</h2>

<p>JavaScript array elements are accesses using numeric indexes (starting from 0).</p>

<p id="demo"></p>


查看完整回答
反对 回复 2021-12-23
  • 2 回答
  • 0 关注
  • 177 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号