认为这很简单,但它不是......我正试图检查,例如,这个json对象:
var strs = {
strprop: "VALUE_A",
strsub: "VALUE_B",
subsub: "VALUE_C"
}
存在于名为regroup
的数组中。此测试不起作用:
if(strs in regroup) { //do stuff }
由于
修改
regroup
有以下数据:
[
{
"strprop": "répond ",
"strsub": "au besoin suivant :",
"subsub": "Economiser son carburant."
},
{
"keyword": "coûte cher"
},
{
"strprop": "répond ",
"strsub": "au besoin suivant :",
"subsub": "Economiser son carburant."
},
{
"keyword": "carburant pollue"
}
]
答案 0 :(得分:1)
没有可用于将对象与JS中的另一个对象进行比较的通用方法。而是在@crazyx的answer
中建议了一种方法。JSON.stringify(obj1) === JSON.stringify(obj2)
在你的情况下,
for (var i=0; i<regroup.length; i++) { //iterate through each object in an array
if (JSON.stringify(regroup[i]) === JSON.stringify(strs) ) {
alert("EQUALS");
}
}
FYI: 键/值对的顺序应相同 否则上述方法将失败,example fiddle。< / p>
答案 1 :(得分:0)
var strs={strprop: "VAL_A", strsub: "VAL_B", subsub: "VAL_C"}; var reg=[strs, 1, "2345"]; for(elmnt in reg){ if(reg[elmnt]==strs)