我正在通过以下方式构建一个简单的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(相同的键对值),因此我不会再次推送它。
我该怎么检查?
答案 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);