方法1:用splice去重
//创建数组
var arr = [1,2,2,2,3,3,4,5,2,3,4,4,2,23,4,5,3,54,3,3,4];
//打印未去重前的数组
document.write("未去重前的数组arr=" + arr + "<br>");
//遍历数组
for (var i = 0; i < arr.length; i++) {
//遍历下标i+1后的元素
for (var j = i + 1; j < arr.length; j++) {
// 比较两个元素的值
if (arr[i] == arr[j]) {
// 如果两个值相等,则删除下标为j的值
//使用splice方法删除元素,j代表下标,1代表删除的数量
arr.splice(j, 1);
//当删除元素后,后面的元素的下标发生改变,需要再次和当前下标位置的元素的值比较
j--;
}
}
}
//打印去重后的数组
document.write("去重后的数组arr=" + arr);
方法2:双重for循环
//方法2:创建两个数组,其中一个数组为空
var arr = [1,2,2,2,3,3,4,5,2,3,4,4,2,23,4,5,3,54,3,3,4];
var newArr = [];
for (var i = 0; i < arr.length; i++) {
//默认两个值不相等
var isExist = false;
for (var j = 0; j < newArr.length; j++) {
if (newArr[j] == arr[i]) {
// 如果两个值相等,isExist的值变为true
isExist = true;
break;
}
}
if (!isExist) {
// 如果isExist为真,将arr中的元素的值给newArr
newArr.push(arr[i]);
}
}
document.write("去重后的数组为:" + newArr);
方法3:includes方法
// 方法3:includes方法
var arr=[1,2,2,2,3,3,4,5,2,3,4,4,2,23,4,5,3,54,3,3,4];
var newArr=[];
for (var i=0;i<arr.length;i++){
if(!newArr.includes(arr[i])){
newArr.push(arr[i]);
}
}
document.write("去重后的数组为:" + newArr);
方法4:new Set()方法(最简单)
// 方法4: new Set()方法
var arr = [1,2,2,2,3,3,4,5,2,3,4,4,2,23,4,5,3,54,3,3,4];
new Set(arr);
document.write("去重后的数组为:" + arr);