我正在尝试迭代这个包含任务对象数组的对象。我如何能够迭代每个键值对,例如返回状态为“已完成”的所有任务。
{
"quests": [
{
"title": "A Rum Deal",
"status": "COMPLETED",
"difficulty": 2,
"members": true,
"questPoints": 2,
"userEligible": true
}
],
"loggedIn": false
}
答案 0 :(得分:2)
对于迭代,您可以使用Array#forEach
object.quests.forEach(function (a) {
if (a.status === "COMPLETED") {
// do something with the data
}
});
要返回已完成任务的选择,您可以使用Array#filter
var completed = object.quests.filter(function (a) {
return a.status === "COMPLETED";
});
答案 1 :(得分:1)
使用{{3}}过滤掉已经完成的元素'状态 - 请参阅下面的演示:
.as-console-wrapper{top:0;max-height:100%!important;}

{{1}}
答案 2 :(得分:1)
那是JavaScript filters的用途。
myObj.quests.filter(item => item.status === 'COMPLETED');