Javascript 从csv文件分割

Javascript 从csv文件分割,javascript,csv,Javascript,Csv,我有一个CSV文件,其中包含以下行: 纽约市1号,8175133,40.71455,-74.007124 洛杉矶市2号,3792621,34.05349,-118.245323 我正在使用此方法拆分它: function processData(csv) { var allTextLines = csv.split(/\r\n|\n/); var lines = []; while (allTextLines.length) { lines.push(al

我有一个CSV文件,其中包含以下行:

纽约市1号,8175133,40.71455,-74.007124

洛杉矶市2号,3792621,34.05349,-118.245323

我正在使用此方法拆分它:

function processData(csv) {
    var allTextLines = csv.split(/\r\n|\n/);
    var lines = [];
    while (allTextLines.length) {
        lines.push(allTextLines.shift().split(','));
    }
    console.log(lines);
    drawOutput(lines);
}
但它不像我想要的那样工作。我只想要一部分线,而不是整条线:

lines[0] = New York City, 40.71455, -74.007124

lines[1] = Los Angeles city, 34.05349, -118.245323

可能吗?我怎么能那样分呢?我已经尝试了一些方法,但还没有找到一个好的方法

最简单的解决方案如下:

while (allTextLines.length) {
    var line = allTextLines.shift().split(',');
    lines.push([line[1], line[3], line[4]]);
}
lines.push({city: line[1], lat: line[3], lon: line[4]});
因为您只需要原始数据中的第二、第四和第五个元素

但是,您可以通过以下方式使访问变得更容易:

while (allTextLines.length) {
    var line = allTextLines.shift().split(',');
    lines.push([line[1], line[3], line[4]]);
}
lines.push({city: line[1], lat: line[3], lon: line[4]});
这将导致如下结果:

lines[0] === {city: "New York City", lat: 40.71455, lon: -74.007124}
lines[1] === {city: "Los Angeles city", lat: 34.05349, lon: -118.245323}
这意味着您可以只使用:
行[0]。城市

或者,如果您只想将这3个“元素”作为字符串:

lines.push(line[1] + ', ' + line[3] + ', ' + line[4]);
导致:

lines[0] === "New York City, 40.71455, -74.007124";
lines[1] === "Los Angeles city, 34.05349, -118.245323";

@海森堡:太好了,谢谢!你真的需要我给出的第一个建议,还是另外两个建议中的一个?第一个就足够了,因为我永远不会显示数据,我只会用它来指出谷歌地图中的位置