从csv制作2个尺寸的阵列

时间:2016-10-10 11:31:26

标签: javascript arrays csv

这是我的csv,

Nejvíce za měsíc;;
1.;Jack;900
2.;George;850
3.;Martin;800
4.;John;700
5.;Martin;701

在我的代码中,我从dropbox

加载它
$.ajax({
  url: 'https://dl.dropboxusercontent.com/s/11ofmbg4d4y3gb0/Top.csv',
  dataType: 'text',
}).done(successFunction);

我的代码只创建一维数组。

function successFunction(data) {

  var promenna = data.split(";");
  console.log(promenna);

}

我想从它创建数组,它应该是这样的。我怎么能这样做?

var promenna = [
  ["Nejvíce za měsíc", "900"],
  ["Jack", "900"],
  ["George", "850"],
  ["Martin", "800"],
  ["John", "700"],
  ["Martin", "701"],
];

4 个答案:

答案 0 :(得分:1)

您的代码及其工作中的小修正。您可以在浏览器控制台中试用它;

$.ajax({
    url: 'https://dl.dropboxusercontent.com/s/11ofmbg4d4y3gb0/Top.csv',
    dataType: 'text',
}).done(successFunction);

function successFunction(data) {
    var promenna = data.split(";"),
        tempArr = [],
        len = promenna.length;
    for (let i = 0; i <= len; i += 2) {
        tempArr.push([promenna[i], promenna[i+1]]);
    }
    console.log(tempArr);
}

答案 1 :(得分:0)

首先声明一个数组,然后将结果推送到该数组

function successFunction(data){

        var finalArray = new Array();
        var promenna = data.split(";");
        finalArray.push(promenna);
        console.log(finalArray);

    }

答案 2 :(得分:0)

您可以使用以下内容:

var data = "1.;Jack;900\n" + 
           "2.;George;850\n" +
           "3.;Martin;800";

var promenna = data.replace(/\n/g,";").split(";");
var result = [];
console.log(promenna);
for(var i = 0; i < promenna.length; i+=3) {
    var line = [];
    line.push(promenna[i+1]);
    line.push(promenna[i+2]);
    result.push(line);
}

console.log(result);

JsFiddle

答案 3 :(得分:0)

在结果数组上加入splice

&#13;
&#13;
var arr = [
  'Nejvíce za měsíc',
  '',
  'Jack',
  900,
  'George',
  850,
  'Martin',
  800,
  'John',
  700,
  'Martin',
  701
];
for (var i = 0; i < arr.length; i++) {
  arr[i] = [arr[i], arr.splice(i + 1, 1).pop()];
}
console.log(arr)
&#13;
&#13;
&#13;