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

您可以使用下划线pluck从集合中获取一个字段:

_.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 回答