gpt4 book ai didi

Javascript:将 CSV 转换为键和值的单独数组

转载 作者:行者123 更新时间:2023-12-03 10:12:28 27 4
gpt4 key购买 nike

这里已经讨论了将 CSV 数据转换为 Javascript 数组,但这是另一种情况。

假设我们有如下结构的 CSV 格式数据:

one,two
three,four
five,six

我们可以使用split()函数或像jquery-csv这样的库或Papa Parse将其转换为结构如下的 JS 数组:

[['one', 'two'], ['three', 'four'], ['five', 'six']]

但是如何将其转换为分别包含第一和第二“列”数据的数组呢?喜欢:

[['one', 'three', 'five'], ['two', 'four', 'six']]

当然,我们可以迭代获得的键值对数组,并将键和值推送到单独的数组中,但是有没有办法直接从 CSV 获得这样的结构?

将 CSV 数据解析到数组中可能会消耗大量资源,因此最好跳过不必要的操作。

最佳答案

您可以使用以下函数来转置数组:

transpose = function(a) {

// Calculate the width and height of the Array
var w = a.length ? a.length : 0,
h = a[0] instanceof Array ? a[0].length : 0;

// In case it is a zero matrix, no transpose routine needed.
if(h === 0 || w === 0) { return []; }

/**
* @var {Number} i Counter
* @var {Number} j Counter
* @var {Array} t Transposed data is stored in this array.
*/
var i, j, t = [];

// Loop through every item in the outer array (height)
for(i=0; i<h; i++) {

// Insert a new row (array)
t[i] = [];

// Loop through every item per item in outer array (width)
for(j=0; j<w; j++) {

// Save transposed data.
t[i][j] = a[j][i];
}
}

return t;
};
transpose([['one', 'two'], ['three', 'four'], ['five', 'six']]);

jsfiddle

来源:http://www.shamasis.net/2010/02/transpose-an-array-in-javascript-and-jquery

关于Javascript:将 CSV 转换为键和值的单独数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30049406/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com