問題タブ [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.
javascript - 形状の異なる 2 つのデータ構造をマージする
2 つの異なる API に由来する異なる形状の 2 つのデータ構造があります。データは JSON 形式で、言語は JavaScript です。
配列 1:
配列 2:
配列 1 のツールチップ フィールドの要素には、配列 2 の要素と同じ「名前」が含まれています。配列 2 の「ステータス」を配列 1 内のツールチップにエレガントにマージするにはどうすればよいですか?
レンズが正解かと思いましたが、使ったことがないのでわかりません。
ネストされた反復と更新配列 1 を使用して解決できるいくつかの方法を認識しています。理想的には、既存のデータ構造を変更しないアプローチを探しています。
haskell - Haskell レコードのリストを要約する
レコードのリストがあり、中央値をとって要約したいとしましょう。より具体的には、私が持っているとしましょう
測定値のリストがあり、それを median に要約したいLocation
ので、次のようになります。
それは問題ありませんが、次のようにさらにネストされたものがある場合はどうなりますか。
のリストがあり、中央値がすべてのフィールドに再帰的に適用されるCampusLocation
summary が必要です。CampusLocation
Haskellでこれを行う最もクリーンな方法は何ですか? レンズ?ユニプレート?
編集:ボーナス:
要約したいフィールドを含むレコードの代わりに、暗黙のリストがあったとしたら? 例えば:
それぞれの長さが同じであると仮定して、どのように a[ComplexCampus]
を aに要約できますか?ComplexCampus
buildings
haskell - Haskellレンズ:ビューをトラバースでうまく再生するには?
Haskellで実装することで、レンズについて学ぼうとしています。view
次のようにコンビネータを実装しました。
ただし、 と組み合わせて使用しようとするとtraverse
、次のエラー メッセージが表示されます。
残念ながら、このエラー メッセージがわかりません。それが何を意味し、どのように修正できるかを説明してください。