JavaScript多维数组或用于存储大量数据以进行计算的任何替代方法

时间:2018-08-07 04:25:28

标签: javascript jquery arrays object

首先,我是一名.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变量数组或类似内容,可以轻松进行计算。

1 个答案:

答案 0 :(得分:1)

您可以将其指定为如下所示的数组内的数组:

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)