繁体   English   中英

如何在除Javascript的最后一行之外的所有行中添加逗号?

[英]How do i append a comma to every line except the last in Javascript?

我下面的代码产生输出

输出量

abc : 1
def : 2
ghi : 3

var fso, f1, ts, s;
var ForReading = 1;
fso = new ActiveXObject("Scripting.FileSystemObject");
// Read the contents of the file.
Session.Output("Reading file");
ts = fso.OpenTextFile("c:\\temp\\text.txt", ForReading);
s = ts.ReadAll();
u = s.split('\r\n');
for(i = 0; i < u.length; i++){
m = u[i].split(",");
var z = m[0] + " : " + (m[0] = m[1]);
}
ts.Close();

我需要以下输出:

    abc : 1,
    def : 2,
    ghi : 3

你想要Array.prototype.join()

var commaDelimited = lines.join(",\n");

这需要一个数组,必要时在每个条目上调用toString() ,并将它们与您提供的字符串连接在一起。

在您的情况下:

var lines = s.split('\r\n');
var result = [];
for (var i=0; i<lines.length; i++){
  var parts = lines[i].split(",");
  result.push( parts[0] + " : " + parts[1] );
}
var output = result.join(",\n");

或者,使用Array.prototype.map()和更实用的编程风格:

var output = s.split('\r\n').map(function(line){
  return line.split(",").join(" : ");
}).join(",\n");

只需在for循环的最后一个迭代中添加一个逗号即可。

var fso, f1, ts, s;
var ForReading = 1;
fso = new ActiveXObject("Scripting.FileSystemObject");
// Read the contents of the file.
Session.Output("Reading file");
ts = fso.OpenTextFile("c:\\temp\\text.txt", ForReading);
s = ts.ReadAll();
u = s.split('\r\n');
for(i = 0; i < u.length; i++){
    m = u[i].split(",");
    var z = m[0] + " : " + (m[0] = m[1]);
    if(i != u.length - 1){ //<---
        z = z + ",";
    }
    console.log(z + "\n"); //something like this...
}
ts.Close();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM