0

行と列を定義する属性を使用して、ページに選択可能な div のグリッドがあります。それらのいくつかを選択すると、3 次元のテーブルが作成されます - テーブル コピーと名付けましょう。

他の要素をもう一度選択すると、他の 3 次元テーブルが作成されます - テーブルの貼り付け

初めて 2 つの列と 2 つの行を選択すると、

   x,y - positions
   at1,at2,at2 - attributes for later copy

                             Table Copy
                          1                2
                0:[x,y,at1,at2,at3],[x,y,at1,at2,at3]
                1:[x,y,at1,at2,at3],[x,y,at1,at2,at3]

そして、3 つの行で 3 つの列を選択すると、次のようになります。

                             Table Copy
                          1                2
                0:[x,y,at1,at2,at3],[x,y,at1,at2,at3]
                1:[x,y,at1,at2,at3],[x,y,at1,at2,at3]

                             Table Paste
                  1                2                 3               
       0:[x,y,at1,at2,at3],[x,y,at1,at2,at3],[x,y,at1,at2,at3]
       1:[x,y,at1,at2,at3],[x,y,at1,at2,at3],[x,y,at1,at2,at3]
       2:[x,y,at1,at2,at3],[x,y,at1,at2,at3],[x,y,at1,at2,at3]

そして今、テーブルコピーからのコンテンツでテーブルペーストを単純に埋める関数が必要です

                             Table Paste
                  1                2                 3               
            0:[tabCopy[0][1]],[tabCopy[0][2]],[tabCopy[0][1]]
            1:[tabCopy[1][1]],[tabCopy[1][1]],[tabCopy[1][1]]
            2:[tabCopy[0][1]],[tabCopy[0][2]],[tabCopy[0][1]]

もちろん、両方の配列のサイズには多くの可能性があります。

テーブルのコピーには 4 つの行を含めることができ、テーブルの貼り付けには 3 つしかありません。その場合、テーブルのコピーの 4 行目は「無視」する必要があります。

テーブルコピーが1行1列のみの場合、テーブルペーストのすべてのレコードはこれと同じに見えるはずです

テーブルの貼り付けが 1 行 1 列のみの場合は、テーブルのコピーから最初のレコードのみを取得する必要があります。

すべてを明確に説明したことを願っています:)

手伝ってくれてありがとう

4

1 に答える 1

0

さて、私があなたを理解したかどうか見てみましょう...

function copyArrays(from, to) {
    for (var i = 0, j = 0; i < to.length;
         i++, j = (j + 1) % from.length) {
        if ((from[j] instanceof Array) &&
            (to[i] instanceof Array)) {
            copyArrays(from[j], to[i]);
        } else {
            to[i] = from[j];
        }
    }
}

var from = [["x", "y", "at1", "at2", "at3"],
            ["x", "y", "at1", "at2", "at3"],
            ["x", "y", "at1", "at2", "at3"],
            ["x", "y", "at1", "at2", "at3"]];

var to = [["+", "-", "123", "456", "789"],
          ["+", "-", "123", "456", "789"],
          ["+", "-", "123", "456", "789"],
          ["+", "-", "123", "456", "789"],
          ["+", "-", "123", "456", "789"],
          ["+", "-", "123", "456", "789"],
          ["+", "-", "123", "456", "789"],
          ["+", "-", "123", "456", "789"],
          ["+", "-", "123", "456", "789"]];

それで:

copyArrays(from, to);

あなたに与える:

[["x", "y", "at1", "at2", "at3"], 
 ["x", "y", "at1", "at2", "at3"], 
 ["x", "y", "at1", "at2", "at3"], 
 ["x", "y", "at1", "at2", "at3"], 
 ["x", "y", "at1", "at2", "at3"], 
 ["x", "y", "at1", "at2", "at3"], 
 ["x", "y", "at1", "at2", "at3"], 
 ["x", "y", "at1", "at2", "at3"], 
 ["x", "y", "at1", "at2", "at3"]]
于 2013-07-30T14:55:29.013 に答える