問題タブ [lenses]

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 投票する
3 に答える
102 参照

javascript - 形状の異なる 2 つのデータ構造をマージする

2 つの異なる API に由来する異なる形状の 2 つのデータ構造があります。データは JSON 形式で、言語は JavaScript です。

配列 1:

配列 2:

配列 1 のツールチップ フィールドの要素には、配列 2 の要素と同じ「名前」が含まれています。配列 2 の「ステータス」を配列 1 内のツールチップにエレガントにマージするにはどうすればよいですか?

レンズが正解かと思いましたが、使ったことがないのでわかりません。

ネストされた反復と更新配列 1 を使用して解決できるいくつかの方法を認識しています。理想的には、既存のデータ構造を変更しないアプローチを探しています。

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

haskell - Haskell レコードのリストを要約する

レコードのリストがあり、中央値をとって要約したいとしましょう。より具体的には、私が持っているとしましょう

測定値のリストがあり、それを median に要約したいLocationので、次のようになります。

それは問題ありませんが、次のようにさらにネストされたものがある場合はどうなりますか。

のリストがあり、中央値がすべてのフィールドに再帰的に適用されるCampusLocationsummary が必要です。CampusLocation

Haskellでこれを行う最もクリーンな方法は何ですか? レンズ?ユニプレート?

編集:ボーナス:

要約したいフィールドを含むレコードの代わりに、暗黙のリストがあったとしたら? 例えば:

それぞれの長さが同じであると仮定して、どのように a[ComplexCampus]を aに要約できますか?ComplexCampusbuildings

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

haskell - Haskellレンズ:ビューをトラバースでうまく再生するには?

Haskellで実装することで、レンズについて学ぼうとしています。view次のようにコンビネータを実装しました。

ただし、 と組み合わせて使用​​しようとするとtraverse、次のエラー メッセージが表示されます。

残念ながら、このエラー メッセージがわかりません。それが何を意味し、どのように修正できるかを説明してください。