假设我有一个像这样的对象:
var data = [
{
"class": 101,
"students": [
{ "name": "bob", "grade": 98 },
{ "name": "alice", "grade": 87 }
]
},
{
"class": 103,
"students": [
{ "name": "mike", "grade": 73 },
{ "name": "bill", "grade": 77 }
]
}
]
是否有更简单的方法使用 underscore.js
来执行此操作?
_(_(data).findWhere({"class": 101}).students).findWhere({"name": "alice"}).grade // is 87
最佳答案
希望这有帮助
var student101 = _.findWhere(data, { "class": 101 }).students;
上面的代码给了你这个 {“姓名”:“鲍勃”,“成绩”:98 }, {“姓名”:“爱丽丝”,“年级”:87 }
这样做我们得到
_.find(_.findWhere(data, { "class": 101 }).students, function(num){ return num.name == 'alice'}).grade
最终结果87
关于javascript - 如何简化underscore.js中的两个嵌套findWhere?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39029680/