0

SlickGridと関連する DataView の groupBy 機能を使用しています。列のペアでグループ化したいのですが、groupBy では単一の値でしかグループ化できません。

それを回避するために(AFAICTでサポートされ、意図された方法で)、 DataView に function を渡したいと思いますh(row) {return TUPLE(row.x, row.y)}。ここで、この質問のタイトルにTUPLE対応しています。 fofTUPLEの 1 番目と 2 番目の引数: [次に、DataView は行を でグループ化しますh(row)]

私の最善の解決策は次のようなものです

x.toString().replace("," by "") + "," + y.toString().replace("," by "")

より一般的に:

  1. 区切り文字列 S を選択します (例: ,)
  2. 各引数を文字列に変換します
  3. そのような各文字列から S のすべての出現を削除します
  4. すべての文字列の間に S を挿入します (a la return theStrings.join(S))

このソリューションに対する私の唯一の不満は、信じられないほど気分が悪いということです。ただし、ここに来て、ある種の言語イディオム、ベスト プラクティス、またはデザイン パターンが不足していないかどうかを尋ねるには、これで十分です。

4

1 に答える 1

0

2 つの引数が両方とも数値である (または数値に変換できる) 場合は、ペアリング関数を使用できます。

f(x, y) = (x + y) * (x + y + 1) / 2 + y

詳細: http://en.wikipedia.org/wiki/Pairing_function

于 2012-11-27T11:30:22.750 に答える