如何检查jsonjavaobject是否已经是数组的一部分?

时间:2017-12-07 12:53:53

标签: arrays json xpages-ssjs

我正在通过以下方式构建一个简单的jsonobject数组:

var jsonObjArr = sessionScope.get("tmpAssessors");

var jsonObj:com.ibm.commons.util.io.json.JsonJavaObject = new com.ibm.commons.util.io.json.JsonJavaObject();

var area = getComponent("inpArea").value;
var person = getComponent("personField").value;

jsonObj.putJsonProperty("area", area);
jsonObj.putJsonProperty("person", person);

jsonObjArr.push(jsonObj);

sessionScope.put("tmpAssessors",jsonObjArr);

但是我想检查数组中是否已存在类似的jsonobject(相同的键对值),因此我不会再次推送它。

我该怎么检查?

1 个答案:

答案 0 :(得分:0)

如果 JsonJavaObject.equals 执行正确的相等性检查,则在使用以下内容替换jsonObjArr.push(jsonObj);时,您的代码应该有效:

var _doesArrayContainElement=function(a,e){
    var i;
    for (i=0;i<a.length;i++) {
        if (a[i].equals(e)) return true;
    }
    return false;
}

if (!_doesArrayContainElement(jsonObjArr,jsonObj)) jsonObjArr.push(jsonObj);