json数组去重的问题--indexOf

来源:互联网 发布:知乎 筑基 编辑:程序博客网 时间:2024/04/29 09:25

今天测试人员给小编提了一个需求,产品添加的时候实现追加的功能,想到了json数组合并的问题,然后就想到了要去重的问题,在此方法中使用到了js提供的indexOf方法解决,话不多说,直接上代码:

var json = grid.getSelectedRows();var jsonParent = Ext.util.JSON.decode(jsonParentStr);var tempArr = [];for(var i=0;i<jsonParent.length;i++){var temp = jsonParent[i];tempArr.push(temp['productId']);}for(var i=0;i<json.length;i++){var temp = json[i];if(tempArr.indexOf(temp['productId'])==-1){tempArr.push(temp['productId']);jsonParent.push(temp);}}

但是有一个问题,IE8不支持indexOf方法,所以我们需要手动添加上indexOf方法,即在使用该方法之前,判断Array是否存在indexOf方法,不存在就添加上

if (!Array.prototype.indexOf){  Array.prototype.indexOf = function(elt /*, from*/)  {    var len = this.length >>> 0;    var from = Number(arguments[1]) || 0;    from = (from < 0)         ? Math.ceil(from)         : Math.floor(from);    if (from < 0)      from += len;    for (; from < len; from++)    {      if (from in this &&          this[from] === elt)        return from;    }    return -1;  };}





0 0
原创粉丝点击