这是牛客网上的一道题~
题意:遇到重复元素就删除(留下第一个不重复的即可)。
解题思路:双循环一遍数组,arr[i] == arr[j] 成立时,删除 arr[j],并将 arr[j] 直接push到一个新数组中去。
js代码实现:
var array1 = [1,2,3,4,5,2,3,1,5,4]; function del(arr){ var ret = []; for(var i = 0; i < arr.length;i ++){ for(var j = i+1;j < arr.length;j++){ if(arr[j] == arr[i]) ret.push(arr.splice(j,1)[0]); //splice返回一个与参数有关的数组,splice(j,1)[0] 即为循环一次删除的元素,并将其添加到ret数组中 } } console.log(ret); } //test del(array1); //Array [1, 2, 3, 4, 5]
重复元素就成功添加进ret数组中了~