javascript:检查数组中是否存在JSON对象

javascript:检查数组中是否存在JSON对象,javascript,arrays,json,Javascript,Arrays,Json,我以为这很简单,但不是。。。例如,我试图检查这个json对象: var strs = { strprop: "VALUE_A", strsub: "VALUE_B", subsub: "VALUE_C" } 存在于名为重组的数组中。此测试不起作用: 谢谢 编辑 重组有以下数据: [ { "strprop": "répond ", "strsub": "au besoin suivant :", "subsub":

我以为这很简单,但不是。。。例如,我试图检查这个json对象:

var strs = {
    strprop: "VALUE_A",
    strsub: "VALUE_B",
    subsub: "VALUE_C"
}
存在于名为重组的数组中。此测试不起作用:

谢谢

编辑

重组
有以下数据:

[
    {
        "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"
    }
]

在JS中,没有通用方法可用于将对象与另一个对象进行比较。取而代之的是,在这个@crazyx的文章中建议了一种方法

就你而言

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");
      }
}

用于(var i=0;iit不起作用。在重新组合其他对象时?在javascript中为新对象!=new Object重新组合的内容是什么?条件何时应计算为true?非常感谢,这是我一直在寻找的结果。@Spadon\ux:这不是你应该做的。它不必要地昂贵,而且可能会在没有警告的情况下失败。JSON序列化不会保证对象属性序列化的顺序。使用不保证的结构是个坏主意。
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");
      }
}
var strs={strprop: "VAL_A", strsub: "VAL_B", subsub: "VAL_C"}; var reg=[strs, 1, "2345"]; for(elmnt in reg){ if(reg[elmnt]==strs)