首先,我是一名.Net开发人员,对JavaScript了解不多。
我已经决定使用 JavaScript 构建一个 100% 离线工作的系统。我有一个大数据集,如下所示,为 CSV 文件。
+------+---------+----+----+----+----+-------+----------+
| Year | Subject | A | B | C | F | Total | PassRate |
+------+---------+----+----+----+----+-------+----------+
| 2015 | Maths | 12 | 20 | 10 | 5 | 47 | 80 |
| 2015 | Sinhala | 18 | 14 | 5 | 10 | 47 | 75 |
| 2016 | Maths | 25 | 15 | 4 | 8 | 52 | 25 |
| 2016 | Sinhala | 20 | 12 | 2 | 18 | 52 | 60 |
+------+---------+----+----+----+----+-------+----------+
这只是一个示例,大约有 50 行。
我尝试读取 CSV 并尝试了 json、xml 文件,但由于跨源政策而没有成功
所以我想将所有这些数据保存在多维数组或类似的东西中。我读过How can I create a two dimensional array in JavaScript?但运气不佳。
那么,如何将所有这些数据保存到 JavaScript 变量中?
请注意,我必须从上表中进行大量计算(例如:每年的总通过率),因此我需要轻松访问任何值。
那么我怎样才能将所有这些数据保存到数组或类似的数组中呢?
注意:我不是问如何将CSV转换为JavaScript变量。我只是问如何将这些类型的大量数据保存为JS变量数组或类似的东西可以轻松地进行计算。
最佳答案
您可以将其指定为数组内的数组,如下所示:
var firstArray = [];
firstArray.push(['Year', 'Subject', 'A', 'B', 'C', 'F', 'Total', 'PassRate']); // headers
firstArray.push([2015, 'Maths', 12, 20, 10, 5, 47, 80]); // 1st row
firstArray.push([2015, 'Sinhala', 18, 14, 5, 10, 47, 75]) // 2nd row
console.log(firstArray);
或者作为数组中的对象,如下所示:
var secondArray = [];
secondArray.push({
'Year': 2015,
'Subject': 'Maths',
'A': 12,
'B': 20,
'C': 10,
'F': 5,
'Total': 47,
'PassRate': 80
}); // 1st row
secondArray.push({
'Year': 2015,
'Subject': 'Sinhala',
'A': 18,
'B': 14,
'C': 5,
'F': 10,
'Total': 47,
'PassRate': 75
}); // 2nd row
console.log(secondArray)
关于JavaScript 多维数组或任何存储大量数据以进行计算的替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51718815/