我有一个集合,我需要浏览集合,并在必要时更改数据并推送到数组。
{
"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];
实现这一目标的最佳方法是什么。感谢
答案 0 :(得分: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);
答案 1 :(得分:0)
如果你没有backbone.js / underscore.js或者你不需要,这里有一个光阵列/集合库,可以执行 pluck()和所有其他操作,{ {3}}。您可以检查单元测试以获取示例代码。
对于你的问题,可以写作
var result = beattles.pluck('rate');
如果您需要提取多个字段,可以使用
var result = beattles.pluck(['rate', 'name']);