【问题标题】:Titanium SQLite: Database pseudo arrayTitanium SQLite:数据库伪数组
【发布时间】:2013-12-28 18:05:52
【问题描述】:

我有一个工作应用程序,每条记录最多需要存储 4 个整数数据矩阵。我不确定如何使用 Titanium 和 SQlite。

一条记录将包含至少 1 个但最多 4 个整数矩阵:

矩阵大小可变,每个矩阵包括:

1 - 20 行,每行 3 列

1 - 20 行,每行 6 列

每条记录的矩阵结构都是相同的,即 3 个 3x20 矩阵 一条记录或一条记录中的 4 个 6x10 矩阵。此时我的应用程序启动,允许用户选择矩阵参数,然后接受数据输入以填充矩阵值。矩阵实际上是一个 JS 数组。如何存储数组数组并在需要时将其读回?

编辑:让我看看我是否可以澄清......

我正在开发的应用程序是用于射箭比赛的记分卡,在概念上类似于高尔夫中的记分卡。在射箭中,您射击一定数量的末端,每端射出一定数量的箭。该应用程序会询问末端数量(最多 20 个)和每个末端射出的箭头数量(3 或 6 个)。每次射击后,射手输入得分(整数值)。所以为了论证的缘故,我们要为三端得分,每端三个箭头。我们可能会看到这样的情况:

arrow scores
8  8  9    (end 1)
7  9  10   (end 2)
9  9  10   (end 3)

我需要为这个单独的记录保存我的矩阵。但是,我需要得分的下一场比赛可能会有不同的端数和箭头:

arrow scores
7 8 9 10 10 10  (end 1)
10 9 9 7 8  10  (end 2)
9  6 6 6  9 9   (end 3) 
7 8 6  7  8 8   (end 4)
10 10 9 8 8 8   (end 5)

让我们简化并假设我想为每条记录存储一个弓箭手的记分卡。我已经有我的数据输入和得分制表工作。我只是不明白存储矩阵的最佳方式,如上图所示。

【问题讨论】:

    标签: javascript arrays sqlite matrix titanium


    【解决方案1】:

    我建议不要存储数组数组。一般而言,在使数组数组成为一个固定概念时,使用对推理矩阵有意义的代码编写抽象并不是非常有效。我见过的唯一例外是 matlab/octave。

    我总是发现,当我展平数据时,我会得到更简单的代码。使用平面数组,您必须自己管理索引。一些辅助函数使推理变得简单。

    我没有得到太多信息,但我认为将数据放入两个不同的表中会更简单。

    CREATE TABLE mat3x20 (i1j1, i1j2, i1j2 ....
    CREATE TABLE mat6x10 (i1j1, i1j2, i1j2 ....
    

    否则,您的数据中有一些奇怪的行为标志,这将使代码在调用堆栈中的某处应该做的事情变得不那么明显。

    【讨论】:

      猜你喜欢
      • 2013-01-19
      • 1970-01-01
      • 1970-01-01
      • 2013-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-09
      • 1970-01-01
      相关资源
      最近更新 更多