一、题目
二、代码及效果
<script>
// 方法一:
var arr3 = ['c', 'a', 'z', 'a', 'x', 'a', 'x', 'c', 'b'];
var newArr2 = [];
//遍历旧数组,拿去跟新数组对比, 新数组没有的,就从旧数组里存,有了的就不存。
for (let i = 0; i < arr3.length; i++) {
if (newArr2.indexOf(arr3[i]) === -1) { /*新数组内没有原数组元素,就反回-1*/
newArr2[newArr2.length] = arr3[i]; /*存新数组内不存在的数组进去*/
}
}
console.log(newArr2);
// 方法2:
var arr2 = ['c', 'a', 'z', 'a', 'x', 'a', 'x', 'c', 'b'];
for (var i = arr2.length; i >= 0; i--) { /*i倒序*/
for (let j = 0; j < arr2.length; j++) { /*j正序*/
/*当元素相同而前后索引号又不同*/
if (arr2[i] === arr2[j] && arr2.indexOf(arr2[j]) !== arr2.lastIndexOf(arr2[i])) {
var temp = arr2[i];
arr2[i] = arr2[arr2.length - 1];
arr2[arr2.length - 1] = temp;/* 把后面的那个重复的,与最后一个元素交换位置*/
arr2.pop();/*删掉最后一个元素*/
}
}
}
console.log(arr2);
</script>
三、思路
方法一:
方法二: