请给Array本地对象增加一个原型方法,它用于删除数组条目中重复的条目(可能有多个),返回值是一个包含被删除的重复条目的新数组。

时间:2024-01-18 09:12:44

这是牛客网上的一道题~

题意:遇到重复元素就删除(留下第一个不重复的即可)。

解题思路:双循环一遍数组,arr[i] == arr[j] 成立时,删除 arr[j],并将 arr[j] 直接push到一个新数组中去。

js代码实现:

var array1 = [,,,,,,,,,];
  function del(arr){
    var ret = [];
    for(var i = ; i < arr.length;i ++){
       for(var j = i+;j < arr.length;j++){
        if(arr[j] == arr[i])
          ret.push(arr.splice(j,)[]); //splice返回一个与参数有关的数组,splice(j,1)[0] 即为循环一次删除的元素,并将其添加到ret数组中
      }
    }
     console.log(ret);
  }
  //test
  del(array1);
  //Array [1, 2, 3, 4, 5]

重复元素就成功添加进ret数组中了~