查询json数据的推荐方法是什么?例如我的数据看起来像
var meetings =
{
"meeting" : [
{
"subject" : "Server upgrade for data center C3W",
"attendees" : [
{
"name" : "Ron Edward",
"title": "CEO",
"company": "Data Solutions",
"confirmed" : "yes"
},
{
"name" : "John Steward",
"title": "Procurement Officer",
"company": "Data Solutions",
"confirmed" : "yes"
},
{
"name" : "Name 1",
"title": "Senior Director",
"company": "C1 Corporation",
"confirmed" : "no"
}
]
}
]
}
;
我希望查询是否有任何参与者确认没有值
答案 0 :(得分:1)
您的问题不清楚是否要检查是否有任何未确认的与会者,或者您想查找哪些与会者未确认?在这两种情况下,代码几乎相同,只有很小的区别: -
通用代码
[Invoice [frequency=Quarterly, amount=100], Invoice [frequency=Annually, amount=100]]
说明:如果具有已确认属性的对象if设置为no
,则此函数返回true案例I:如果您只想查找是否有人尚未确认
function checkConfirmation(person){
return person.confirmed == "no"
}
解释:" some()"是一个Javascript数组方法,它检查数组的任何成员是否满足函数的条件并返回布尔值。在你的情况下,当一位与会者尚未确认时,这将是真的。
案例II:如果您只想找到所有人都没有确认的。
var result = meetings["meeting"][0]["attendees"].some(checkConfirmation);
console.log(result); // true
解释:"过滤器()"是一个Javascript数组方法,它返回另一个数组{原始的子数组},这些成员满足函数的条件。在你的情况下,它将有一个成员。
关于这些方法的更多信息: - https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/filter
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some