0

コレクションがあり、コレクションを調べて、必要に応じてデータを変更し、配列にプッシュする必要があります。

 {
"Beatles": [
      {"name":"Album 1", "rate":"70"},
      {"name":"Album 2", "rate":"75"},
      {"name":"Album 3", "rate":"82"},
      {"name":"Album 4", "rate":"60"}
], 
"Purple" :[
      {"name":"Album 1", "rate":"30"},
      {"name":"Album 2", "rate":"90"},
      {"name":"Album 3", "rate":"23"},
      {"name":"Album 4", "rate":"14"}
]
}

// コレクションを調べて、ビートルズのアルバムのレートのみを配列に保存したいので、次のようになります myBeattlesarray = [70,75,82,60];

これを達成するための最良の方法は何ですか。ありがとう

4

2 に答える 2

1

Underscore を使用してpluck、コレクションから 1 つのフィールドを取得できます。

_.pluck(collection.Beatles, "rate");

var model = new Backbone.Model(
{
"Beatles": [
  {"name":"Album 1", "rate":"70"},
  {"name":"Album 2", "rate":"75"},
  {"name":"Album 3", "rate":"82"},
  {"name":"Album 4", "rate":"60"}
], 
"Purple" :[
  {"name":"Album 1", "rate":"30"},
  {"name":"Album 2", "rate":"90"},
  {"name":"Album 3", "rate":"23"},
  {"name":"Album 4", "rate":"14"}
]
}
);

var beatles = model.get("Beatles");
var rates = _.pluck(beatles, "rate");

console.log(rates);

フィドル: http://jsfiddle.net/k5AVE/

于 2012-11-27T02:32:47.937 に答える
0

backbone.js/underscore.js がない場合、または必要がない場合は、pluck ()およびその他すべての操作を行う軽量の配列/コレクション ライブラリjsListを次に示します。サンプル コードの単体テストを確認できます。

あなたの問題について、ライターはできますか

var result = beattles.pluck('rate');

複数のフィールドを抽出する必要がある場合は、次を使用できます

var result = beattles.pluck(['rate', 'name']);
于 2013-05-20T01:38:02.550 に答える