24

ここのチュートリアルに従って、

コレクションは、配列またはオブジェクト (JavaScript の関連配列) のいずれかです。

それは、以下のすべての関数collectionがオブジェクト リテラルに等しく適用できることを意味しますか。たとえば、条件に基づいて値を選択したいと考えていました。言う、

var obj = {
"1": {id: 1, val: 2},
"2": {id: 2, val: 5},
"3": {id: 3, val: 8},
"4": {id: 4, val: 1}
}

val フィールドの最大値と最小値を見つけたい。API を見て、pluckの配列を取得するために使用することを考えていたので、 とvalを実行minmaxます。

  • オブジェクトにプルを適用できますか (API の例は、オブジェクトの配列での使用を示しています)
  • より良い方法はありますか?

ありがとう。

4

3 に答える 3

56

コレクションの下のすべての関数がオブジェクトリテラルに等しく適用できるということですか?

はい

オブジェクトにプルを適用できますか (API の例は、オブジェクトの配列での使用を示しています)

試してみましたか?はい、できますが、配列が返されます。

より良い方法はありますか?

Math.min.apply(null, _.pluck(obj, "val"))(または_.min(_.pluck(obj, "val")))最小を取得するのは問題ありません。ただし、オブジェクト全体 (id 付き) を取得したい場合は、min/maxのiteratorパラメーターを使用することもできます。

var lowest = _.min(obj, function(o){return o.val;});
于 2013-04-06T13:28:38.123 に答える