javascript - 如何在 javascript 中打印具有固定列宽的二维数组?

标签 javascript arrays node.js

我有一个 Javascript 数组:

animals = [
  ["cats", "dogs"],
  ["verrylongcat", "dog"],
  ["shortcat", "verrylongdog"],
  ["cat", "dog"]
]

我想在控制台中很好地显示它。有没有一种简单的方法可以使列的宽度固定,所以我得到这样的东西:

cats            || dogs
verrylongcat    || dog
shortcat        || verrylongdog
cat             || dog

animals 只是一个例子,我的数组也可以有 3 或 4 列甚至更多。

顺便说一句——我很震惊这个问题还没有被问到,但我到处都找过了,但找不到。我基本上是在问与 this question 相同的问题但对于 JavaScript/JS。

最佳答案

如果您只是在控制台中查找表格,您可以使用 console.table() .

Node.js 支持:

演示:

const animals = [
  ["cats", "dogs"],
  ["verrylongcat", "dog"],
  ["shortcat", "verrylongdog"],
  ["cat", "dog"]
];

console.table(animals); // look in the browser's console

要在 HTML 页面上创建表格,请使用嵌套 Array.map()template literalsArray.join()为表格创建行。使用 Element.innerHTML将其分配给表的主体:

const animals = [
  ["cats", "dogs"],
  ["verrylongcat", "dog"],
  ["shortcat", "verrylongdog"],
  ["cat", "dog"]
];

const rows = animals.map((r) => `
  <tr>
    ${r.map((c) => `<td>${c}</td>`).join('')}
  </tr>
`).join('');

target.innerHTML = rows;
td {
  padding: 0.2em 0.5em;
}

td:nth-child(2) {
  border-left: 3px double;
}
<table>
  <tbody id="target"></tbody>
</table>

关于javascript - 如何在 javascript 中打印具有固定列宽的二维数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50117793/

相关文章:

javascript - 如何在没有内联 JavaScript 处理程序的情况下将参数从动态表传递到事件处理程序

javascript - Node : get child processes of a daemon and kill them

javascript - 无法更改图标图像(React)

javascript - 获取具有不同值的对象

node.js - 当我将数据从 index.js 传递到 index.ect 时,我无法在 Node.js 上显示模型值

arrays - JADE、Nodejs 和 JSON 数据渲染

c++ - 如何将数组的内容写入文本文件?

java - 如何初始化一个静态数组?

java - 如何以清晰易读的方式根据参数创建数组?

javascript - 如何在现有 Node 之间创建/匹配多个关系? (通过相同的参数)