循环浏览CSV数据并根据值将其分离到辅助阵列中
Cycle through and separate CSV data into secondary array depending on value
我正在开发一个在线工具,以在有组织的仪表板界面中显示信息。我从CSV电子表格中提取数据,并根据整个CSV数据数组中的一个字段将它们分离到另一个多维数组中。
这就是我尝试过的:
// arr is the array that holds the entire CSV data
// inds is where I need the entries separated by industry (arr[i][0])
var indx = 0; // using to add new array to inds array
for(var i = 1; i < arr.length-1; i++){
if(arr[i][0] === arr[i-1][0]) {
if(! inds[indx] ) {
inds[indx] = []
} else {
inds[indx].push(arr[i]);
}
} else {
indx++;
}
}
基本功能:
如果行业字段与之前的条目相同,则将其放入索引为indx
的arr数组中,否则,在下一个行业的indx
中添加一个。
此解决方案的问题:
它跳过了行业的第一个条目,因为前一行是另一个行业,所以arr[i-1][0]
正在检查上一个行业并跳过下一个行业的第一行。
如何重新格式化此脚本:
我在想也许嵌套了一段时间,但不确定。我思考逻辑的方式是:
对于csv的每一行,当行业列相同时,将其放入各自的inds[index]
中。或者,按照arr[i][0]
的相同值从arr中提取行。
我相信有一个更简单的解决方案,这就是我来这里的原因,所以我希望我能清楚地表达我的想法,我感谢所有的反馈。
如果你需要更多的澄清,请在评论中告诉我。
以下逻辑工作吗?
var indx = -1;
// using to add new array to inds array
for(var i = 1; i < arr.length-1; i++){
if(arr[i][0] !== arr[i-1][0]) {
indx++;
inds[indx] = []
}
inds[indx].push(arr[i]);
}
已更新。
相关文章:
- 如何附着分离的对象
- 如何使用jQuery each分离字符串中的元素
- 将JavaScript函数与HTML分离
- 将Javascript与HTML分离
- 使用正则表达式捕获“”并分割成阵列
- AngularJS卡片转盘:将卡片返回到阵列的末尾
- 从不同的对象创建阵列
- 如何定义一个模块并使用它来分离js文件
- 阵列中随机图像的问题
- 在特定条件下从存储在localStorage中的阵列中删除对象
- 从AJAX回调函数中分离数据
- 如何将所有同级存储在动态本地存储阵列中
- 在Jquery中分离后,如何将相同的函数添加回代码中
- 从localStorage添加和检索阵列
- angular.注射器阵列值未返回当前值
- 流星蒙戈的返回阵列
- 从2D RGB阵列创建图像
- 使用谷歌地图api 3为MapTypeId.TERRAIN分离按钮
- 停止声音和分离阵列
- 循环浏览CSV数据并根据值将其分离到辅助阵列中