1

私はこのようなモデルを持っています:

model = 
    from: "a@b.com"
    id: 1
    to: [c@d.com]

この種のモデルを含むコレクションがあります。コレクションは でフィルタリングする必要がありますfrom。関数を知っ_.whereていunderscore.jsます。私はこのように使用しています:

fromIds = _.pluck _.where(msgs, from : login), 'msgId' 

同様に「to」でフィルタリングする必要があります:

toIds = _.pluck _.where(msgs, to : login), 'msgId' 

toは配列であるため、機能しません。でフィルタリングするにはどうすればよいtoですか? 誰かが私を助けてくれたらありがたいです!

4

1 に答える 1

3

その時点で、 を使用する必要があります_.filterソース コードを見ると、これは_.where単なる便利なラッパーであることがわかります_.filter_.whereプリミティブ比較に基づく単純なフィルタリングには適していますが、より複雑なものは自分で作成する必要があります。

# Filter for messages that contain the target address.
matchedTo = _.filter msgs, (msg) -> _.contains msg.to, login

# Pluck as usual
toIds = _.pluck matchedTo, 'msgId'
于 2013-04-15T05:50:12.853 に答える