javascript - 如何使用 Javascript 打印表格,并且没有 DOM 交互

标签 javascript

我正在编写一个小程序来输出这样的表格: (这就是我想要的!) enter image description here

到目前为止,这是我的(不正确的)代码:

var daysOfWeek = ['Mon', 'Tue', 'Wed', 'Thu']
var time = ['9am', '10am', '11am', '12pm', '1pm', '2pm'];

for(i = 0; i < 1; i++) {
  console.log("     "+daysOfWeek.join('  '));
   for (j = 0; j < time.length; j++ ) {
     if ((time[j] === '9am' || time[j] === '2pm') && (daysOfWeek[i] === 'Mon')) {
      console.log(time[j], 'Bowser');
     } else {
       console.log(time[j]);
     }
  }
}

这是我从我的代码中收到的输出:

enter image description here

我不知道如何在第一栏中记录Maggie,我也不知道如何 遍历图表以添加 Fifi 和 Spike。另外,我的代码真的很乱......

谁能帮我找到一种干净、高效的方式来打印表格?

最佳答案

您需要一个数据结构来保存遛狗时间表。您可以使用嵌套对象:

var schedule = {
    Mon: {
        '10am': 'Bowser',
        '2pm': 'Maggie'
    },
    Tue: {
        '11am': 'Fifi'
    },
    Wed: {
        '12pm': 'Spike'
    },
    'Thu': {
    }
}

然后您的循环可以将每个时间段与时间表中的内容相匹配。

console.log("\t"+daysOfWeek.join('\t'));
for (j = 0; j < times.length; j++) {
    line = times[j];
    for (i = 0; i < daysOfWeek.length; i++) {
        if (schedule[daysOfWeek[i]][times[j]]) {
            lines += "\t" + schedule[daysOfWeek[i]][times[j]];
        } else {
            lines += "\t\t";
        }
    }
    console.log(line);
}

关于javascript - 如何使用 Javascript 打印表格,并且没有 DOM 交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42355146/

相关文章:

javascript - onclick 定义的 text-var 在日志上返回空字符串

javascript - 我想知道如何在 Jquery 加载 json 文件时在本地测试页面?

javascript - 如何在 vue 3 和 typescript 中正确键入 vuex 模块

javascript - RSA 登录 node.js 并在 C++ 中验证

JavaScript 没有取消我的链接操作

带有变量名称的javascript数组

javascript - 路由器解析不会注入(inject) Controller

javascript - 如何使用 this.value 从 TD 列获取值

javascript - 如何比较 smarty 变量和 javascript 变量?

javascript - 查找Mongo Collection中动态生成数据的次数