jquery删除数组中重复元素

时间:2020-12-07 00:31:08

首先定义如下数组:

var arr=[0,2,3,5,6,9,2];

我们可以看到数组中存在重复元素'2';

最后通过jquery筛选应该得到[0,2,3,5,6,9];

ok,首先我们再定义一个空数组,用来存放最后筛选出来的元素:

var new_arr=[];

利用jquery的$.inArray可以轻松实现:

遍历数组元素:

for(var i=0;i<arr.length;i++) {

  var items=arr[i];

  //判断元素是否存在于new_arr中,如果不存在则插入到new_arr的最后

  if($.inArray(items,new_arr)==-1) {

    new_arr.push(items);

  }

}

当遍历到最后一个'2'的时候,因为已经将之前一个'2'插入到了new_arr中,所以最后一个'2'不会执行if中的语句

最后得到新数组new_arr=[0,2,3,5,6,9];

备注:$.inarray(value,array) --确定第一个参数在数组中的位置(如果没有找到则返回 -1 )。

最终代码如下:

 var arr=[0,2,3,5,6,9,2];
var new_arr=[];
for(var i=0;i<arr.length;i++) {
  var items=arr[i];
  //判断元素是否存在于new_arr中,如果不存在则插入到new_arr的最后
  if($.inArray(items,new_arr)==-1) {
    new_arr.push(items);
  }
}
console.log(new_arr); //[0,2,3,5,6,9]