Javascript 通过将数组值转换为表来创建.txt文件
我有一系列的Javascript 通过将数组值转换为表来创建.txt文件,javascript,jquery,arrays,node.js,Javascript,Jquery,Arrays,Node.js,我有一系列的 myarray=[“ram”、“ram”、“一月”、“一月”、“二月”、“二月”] 是否可以创建一个以表格格式显示此值的.txt文件?有几种方法可以实现这一点(这取决于您的最终要求和限制)。最好的方法是使用一些模板引擎,例如,或 不过,您也可以使用常规JavaScript数组来实现 返回HTML表的示例: var myarray=[“user1”、“pass1”、“user2”、“pass2”、“user3”、“pass3”], 输出=[]; 输出推送(“”) 对于(变量i=0;
myarray=[“ram”、“ram”、“一月”、“一月”、“二月”、“二月”]
是否可以创建一个以表格格式显示此值的.txt文件?有几种方法可以实现这一点(这取决于您的最终要求和限制)。最好的方法是使用一些模板引擎,例如,或 不过,您也可以使用常规JavaScript数组来实现 返回HTML表的示例:
var myarray=[“user1”、“pass1”、“user2”、“pass2”、“user3”、“pass3”],
输出=[];
输出推送(“”)
对于(变量i=0;i
输出如下(请注意,HTML已格式化以提高可读性):
用户1pass1
用户2pass2
用户3pass3
我希望这会有所帮助。前端: 如果您的代码将位于前端(浏览器),则可以使用以下选项:
var row_width = 40;
var content = "";
content += "Username" + new Array(row_width + 1).join(" ") + "Password\n";
content += "********" + new Array(row_width + 1).join(" ") + "********\n";
for (var i = 0; i < myarray.length; i += 2) {
content += myarray[i] + new Array(row_width - myarray[i].length + 9).join(" ");
content += myarray[i+1];
content += "\n";
}
// Build a data URI:
uri = "data:application/octet-stream," + encodeURIComponent(content);
// Click on the file to download
// You can also do this as a button that has the href pointing to the data URI
location.href = uri;
我还没有试过那个代码,但是如果它对你有用,请随时告诉我。我希望这就是你需要的
注意某些过时/不好的浏览器可能不支持前端代码您应该提供您期望的有问题的格式。为什么数组中有重复的值?要使用前端Javascript或后端Node.js吗?“表格格式”是什么意思?CSV?不是重复值。。它可能是用户名和密码。在我的例子中,两者都是一样的。那么为什么不使用对象而不是数组呢?我是说一系列的object@Frax表的意思是,就像用户名和密码的报告。它可以工作。。谢谢,但是对齐不好,它显示的像
用户名密码***************ram ramjan janfeb feb
你能帮我吗?这是一个调整内容字符串的问题。。。我将尝试添加选项卡和换行符,并会让您知道。你可以随意修改字符串当然。。。非常感谢..我更新了代码,在字符串中添加了“\n”换行符。让我知道如果它看起来更好如果你想保持它为文本,你只需要得到正确的空间量。我添加了更多的新行。现在看起来应该更好了,但需要更多的调整。我们还可以将该文件作为HTML,其中包含一个表和一些CSS规则
<table>
<tr><td>user1</td><td>pass1</td></tr>
<tr><td>user2</td><td>pass2</td></tr>
<tr><td>user3</td><td>pass3</td></tr>
</table>
var row_width = 40;
var content = "";
content += "Username" + new Array(row_width + 1).join(" ") + "Password\n";
content += "********" + new Array(row_width + 1).join(" ") + "********\n";
for (var i = 0; i < myarray.length; i += 2) {
content += myarray[i] + new Array(row_width - myarray[i].length + 9).join(" ");
content += myarray[i+1];
content += "\n";
}
// Build a data URI:
uri = "data:application/octet-stream," + encodeURIComponent(content);
// Click on the file to download
// You can also do this as a button that has the href pointing to the data URI
location.href = uri;
var fs = require('fs');
fs.writeFile("/path_to_file/table.txt", content, function (err){
if (err) {
console.log(err);
} else {
console.log("File saved");
}
});