var days = new Array("sun", "mon", "tue", "wed", "thu", "fri", "sat");
$.each(data, function (i, object) {
$.each(object, function (property, value) {
var propertyString = getPropertyAsString(property);
if ($.inArray(propertyString, days) != -1)
{
// do something
}
count++;
});
});
上面是我用来使用jQuery从json检索数据的代码存根。我想要做的是获取“property
名称”(我在嵌套getPropertyAsString()
内使用$.each()
将其标记为字符串,然后我想检查这个“属性名称” “是否存在于天数组中。
更具体地说,下面是json:
[{
"STID": 0,
"VRNO": 0,
"VRNOA": 0,
"VRDATE": "\/Date(-62135596800000)\/",
"PARTY_ID": null,
"BILTY_NO": null,
"BILTY_DATE": "\/Date(-62135596800000)\/",
"RECEIVED_BY": null,
"TRANSPORTER_ID": null,
"REMARKS": null,
"Year_srno": 0,
"ETYPE": null,
"NAMOUNT": 0,
"UID": 0,
"ORDER_VRNO": 0,
"FREIGHT": 0,
"PARTY_ID_CO": null,
"SALEBILLNO": 0,
"DISCP": 0,
"DISCOUNT": 0,
"CURRENCY_ID": 0,
"EXPENSE": 0,
"COMPANY_ID": 0,
"VEHICLE_ID": null,
"PARTY_NAME": null,
"isEditted": false,
"isDeleted": false,
"isNew": false,
"Mon": "0",
"Tue": "0",
"Wed": "0",
"Thu": "500",
"Fri": "0",
"Sat": "0",
"Sun": "0"
}]
我要做的是获取周末的价值,即星期一,星期二,星期三,星期四,星期五,星期六,星期日
我一直在尝试并尝试无法找到方法。如果有办法,请建议我。
答案 0 :(得分:1)
示例中的property
变量已经是一个字符串,您无需转换它。
实际问题是对象中的工作日名称是大写的(“Mon”,“Tue”),但days
数组的小写(“mon”,“tue”)。如果days
是您可以编辑的内容,只需更改它以匹配对象键,或使用.toLowerCase()
与您要比较的键。
if ($.inArray(property.toLowerCase(), days) != -1)
答案 1 :(得分:-1)
如果我以正确的方式提出您的问题,您可以获得天数值并将其记录下来:
for(i in days){
console.log(days[i]+': '+yourJson[i])
}
如果我弄错了请求告诉我