StackoverlFlowでこれについての解決策を見つけることができず、私は今この問題を少し前から取り組んできました。少し難しいので、もっと情報を提供する必要があるかどうか教えてください。Lodashで深くネストされたオブジェクトを返そうとしています
問題: 私は土地のJSONオブジェクトを持っていますが、各土地にIDとブロック配列が関連付けられており、そのブロック配列にはIDのブロックもあります。
プレビュー:
var Lands = [{
'LandId':'123',
'something1':'qwerty',
'something2':'qwerty',
'Blocks': [
{
'id':'456',
'LandId':'123'
},
{
'BlockId':'789',
'LandId':'123'
}
]
},
...More Land Objects];
注:データはセットアップ私はそれを行っているだろうが、これは前の時間に沿って行われていたと私は今のために持っているものと仕事をしなければならない方法ではありません。
私はブロックアイランドを取ってそれらとマッチさせ、ブロックから土地を返すロダッシュ関数を書こうとしています。
最終結果は、ブロックから返されたLandIdのリストになります。
私はこのようなものを使用していたし、それは結果を返しませんでした:
selectedLand = function(Lands, landIDs){
return _.filter(Lands, function(land){
return land === landIDs[index];
});
};
私は、私はこのことについて間違った道を進んでいますし、これに近づくと、それを解決するための適切な方法を知りたいのですが知っています。どんな助けでも大歓迎です。 index
はこの範囲内の任意の定義を欠いので、この機能は、基本的に外部で定義されindex
で幸運(?)事故がなければ、trueを返すことはありませんことを
これは素晴らしい例だったと私はlodashとramda.js間の本当の違いがどうなるか、今の文書を通じて自分の道を働いていますか? – Keeano
@Keano彼らは同様の方法で使うことができます。 Lodashはより一般的であり、ヘルパー機能(例えば_camelCase)を持ち、すべてをカレーすることはできません(多少はあるがすべてではない)。 Ramdaは実用的な機能ライブラリなので、非常に簡単に関数をカリングしてパイプすることができます。 [こちらはramdaと同じソリューションです](https://jsbin.com/wopibiwidi/edit?js,console)。いくつかの定型文がありますが、 'R>をリストするのに沸騰します。フィルタ|> R.any |> R.contains '。 lodashと非常によく似ています(同じロジックなので)が、より複雑な変換で拡張する必要があるので、Ramdaは簡単になります。 – user01
私はこの問題に巻き込まれていて、回避策を見つけられていません...あなたに電子メールを送ることができれば助けてくれますか?私はあなたが説明しているように、私はまだ奇妙なリターンを取得しているドキュメントを読んで...私はあなたのフィルタを使用して、少し別のものを得るためにそれを微調整しています。 – Keeano