問題タブ [flatten]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1079 参照

sql - SQL Server で行をフラット化する

両方のテーブルを結合して計算を実行する前に、どちらかのテーブルの行をフラット化または縮小する必要があります

表 - A

表 - B

結果

テーブル A のレコードの場合: テーブル A の start および EndDAte 内にあるテーブル B に複数のレコードがある場合、テーブル A に結合する前にテーブル B のそれらのレコードを「平坦化」または「折りたたむ」必要があります。私の計算を実行する

同様に、テーブル A にテーブル B の Start と EndDate の範囲内にある複数のレコードがあるなど、同じ条件が別の方法で存在する可能性もあります。この場合、テーブル A のそれらのレコードを平坦化して、Start と End に準拠させる必要があります。表 B の日付。

複数のカーソルを使用してこれを達成することはできますが、パフォーマンスは悲惨です。誰かがこの問題に対するより良い解決策を提供できることを願っています

私の質問が皆さんにとって意味のあるものであることを願っています

前もって感謝します

0 投票する
2 に答える
833 参照

xml - XSLT: XSLT 1 を使用して構造を XML にフラット化する方法

XSLT 1 を使用して階層/構造を XML にフラット化しようとしていますが、成功していません。- 良いリンクを見つけても...

入力xml


必要な出力 xml


この .xsl を試しましたが、うまくいきませんでした - ファイルにエラーがあります


0 投票する
5 に答える
28760 参照

php - キーを連結する多次元配列を平坦化する

重複の可能性:
PHP は、キーの連結中にネストされた配列を単一の配列に変換しますか?
配列のキーを再帰的に取得し、アンダースコアで区切られた文字列を作成します

回答する前に、質問全体をお読みください。

私はこの多次元配列を持っています:

平らにして、次のように変換します。

重要:

  • キーは私にとって非常に重要です。ピリオドで区切って連結したい。

  • どのレベルのネストでも機能するはずです。

ありがとうございました!

0 投票する
3 に答える
691 参照

xml - XSLT: XSLT 1.0 を使用して、子要素名に基づいて XML 要素をフラット化しようとしています。

XSLT 1.0 を使用して、子要素名に基づいて XML 要素をフラット化しようとしています。

ソース XML:

次の XML に変換する必要があります。

ロジックは次のとおりです。

IF 子要素名が「PurposeAsPlainText」 THEN 送信先の Other に「O」を設定

ELSEIF 子要素名は「PurposeAsEnum」 THEN ソース値を宛先にコピー

編集 1 : 解決策のいずれも xml を平坦化していないため、より明確にすることができます。改訂されたソースと宛先の XML を参照してください。

EDIT 2 : これは、私がテストしていた XML です。以下の 2 つの変換ソリューションは、元の xml では実際に機能しますが、.NET 4.0 XslCompiledTransform を使用してテストしていた修正された xml では機能しません。または、新しい質問を作成する必要がありますか?

0 投票する
3 に答える
275 参照

list - プロローグのリスト内でコンマをプラス演算子に置き換えてリストをフラット化する

私はProlog(Eclipse)で、リスト構造を再フォーマットする必要があるシナリオに取り組んでいます。

フォームのリストがあります:

すべてのコンマを+演算子に置き換えて、リストを1つの要素にフラット化できるかどうかを確認しようとしていました。

したがって、私の結果リストは次のようになります。

これは単一要素リストです。初期リストの長さは任意です。

私はプロローグがそのような操作に適していないことを知っていますが、これはできますか?

0 投票する
1 に答える
144 参照

asp.net-mvc - コレクションではなく、null 可能な兄弟オブジェクトといとこのオブジェクトによるフラット化

私はこのようなオブジェクトモデルを持っています

フラット化または投影しようとしていますか? このようなモデルに

Sibling と Cousin は Nullable です

コントローラーコード

すべての Parent レコードを返したくないので、ToList() の使用を避けようとしています。ViewModel は、Ajax を使用して Telerik Grid にバインドされます。これにより、ページングが処理されます。すべてのフィールドとレコードを返したくないので、AutoMapper を使用したくありません。

ToList() を使用せずにこのモデルを平坦化するにはどうすればよいですか?

0 投票する
3 に答える
2585 参照

tree - リストするツリー(更新)

ツリーをリストに変更する方法について、別の投稿の誰かのコメントから提案を試しました。ただし、どこかに(または何か)宣言されていない変数があるため、リストの値は[5、2、6]ではなく[_G667、_G673、_G679]であり、これが正解です。私の知る限り、すべての操作は正しいです。

コードは次のとおりです。

私が使用したクエリは次のとおりです。

誰かが変数の問題を見ていますか?最初の行(Itemを含む)にあるのではないかと思いましたが、Itemをitemに変更すると、クエリはすぐにfalseを返します。

私はいくつかのPrologプログラムを書いただけなので、これはまだ私にとって新しい概念です。

0 投票する
4 に答える
1650 参照

php - PHP連想多次元配列 - 選択したキーのみを出力

を使用して画像から取得した配列があります

配列自体には、不明な数のキー/値が含まれる場合があります (0 の場合もあります)。また、配列の一部は多次元です。

exif_read_data からの配列の例:

私の質問は、配列の 2 次元または 3 次元にある場合でも、選択したキーのみをキーと値のペアとして表示する関数を作成するにはどうすればよいかということです。

たとえば、上記の配列から、[ImageWidth] , [ImageLength] , [XResolution] , [GPSTimeStamp] and [GPSLatitude] ..

私はそれを次のような関数に渡します:

その後

これらのキーを例として選択したのは、それらの一部が第 2 レベルにあり、一部が実際には配列自体であるためです..

理論的にはキーを複製できる (ユーザー キー) という問題もありますが、異なる第 2 レベルの配列に存在します (したがって、名目上は複製されません)。

最初に「平坦化」してから、必要なキーの配列を何らかの方法で「渡す」必要があると思いますが、実際には正しく取得できないようです。

誰かがそのようなことのための既製のクラス/関数/スニペットを知っていますか?

0 投票する
1 に答える
163 参照

automapper - 複雑なモデルをマッピングする方法

次のようなソース モデルがあります。

次に、FooBar を NewFooBar にフラット化する宛先モデルがあり、次のようになります。

foo のすべてのプロパティを個別にマップすることなく、FooBar を NewFooBar にマップするにはどうすればよいですか? (それらの多くがあります)。

私の最初の解決策は、Foo と Bar を別々に NewFooBar にマップすることでした。次に、マップを個別に実行します。しかし、これは厄介なようです。可能であれば、単一のマッピングでそれを行いたいと思います。これを行う簡単な方法がありませんか?

0 投票する
1 に答える
162 参照

c# - フィールドの平坦化によるコレクション内の重複アイテム

コレクションがあります:
[ A { 'a' => '1', 'b' => ['1', '2']}
B { 'a' => '2', 'b' => [' 1','2','3']} ]

このコレクション内のアイテムを「複製」して次の結果を作成する関数を探しています:
[ A1 { 'a' => '1', 'b' => '1'}
A2 { 'a' => '1', 'b' => '2'}
B1 { 'a' => '2', 'b' => '1'}
B2 { 'a' = > '2', 'b' => '2'}
B3 { 'a' => '2', 'b' => '3'} ]

どうすればそのような結果を達成できますか?