【问题标题】:JS Create different arrays from CSVJS 从 CSV 创建不同的数组
【发布时间】:2017-10-21 16:32:28
【问题描述】:

我有一个 CSV,其中包含类似

的文件
kilo;1;
kome;3;
hell;5;  

我希望所有数字都存储在一个 int 数组(JS)中

var lines = content.split("\r");
    for (var i = 0; i < lines.length; i++) {
        var x = lines[i].split(";");
    }
    var A = [x[3]];

它将每个元素保存为不同的数组!

【问题讨论】:

  • 一些更多的信息会很好,因为它不是很清楚你的 csv 的样子。
  • 请显示所有相关代码。 linescount 是什么?预期的结果是什么?花几分钟阅读How to Askminimal reproducible example
  • @charlietfl 真的,谢谢

标签: javascript arrays


【解决方案1】:

首先,您在 for 循环中引用了 count,但这并不存在,需要改为 i。此外,您在循环之后填充数组,只有最新值 x

在这里你可以看到一个稍微改变的工作示例:

var csv = "kilo;1;\r\nkome;3;\r\nhell;5;",
    lines = csv.split("\r\n"),
    myIntArray = [];

for (var i = 0; i < lines.length; i++) {
    var fields = lines[i].split(";");
    myIntArray.push(parseInt(fields[1], 10));
}

console.log(myIntArray);

【讨论】:

  • 还有一个问题,那个 10 是什么意思?
【解决方案2】:

var lines = ["kilo;1;", "kome;3;", "hell;5;"]

var numbers = lines.map(line => +line.split(";")[1])

console.log(numbers)

或者您可以一次从字符串中获取所有数字:

var CSV = "kilo;1;\r\nkome;3;\r\nhell;5;"

var numbers = CSV.match(/[0-9]+/g)

console.log(numbers)

排序,类似于:

var lines = ["kilo;1;", "kome;3;", "hell;5;"]

var result = lines.map(line => line.split(";")).sort((a, b) => a[1] - b[1])

console.log(result)

附带说明一下,有许多表格库,例如 https://datatables.net/,它们具有排序选项:

var lines = ["kilo;1;", "kome;3;", "hell;5;"]
var data = lines.map(line => line.split(';'))

$('#example').DataTable( {
    data: data,
    columns: [ { title: "a" }, { title: "b" } ],
    order: [ 1, "asc" ],         // order by column 2 in ascending order
    searching: false,
    paging: false,
    info: false,
} );
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script>
<link href="https://cdn.datatables.net/1.10.16/css/jquery.dataTables.min.css" rel="stylesheet"/>
<table id="example" class="display compact"/>

【讨论】:

  • 第一个可以根据数字重新排序单词 ex var lines = ["kilo;5;", "kome;1;", "hell;3;"] 以输出 kome hell公斤?
  • 斯莱看一个重要的问题:[stackoverflow.com/questions/46861439/reorder-csv-r‌​ows]
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-17
  • 2017-02-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多