<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
<script>
var arr = [1, 2, 2, 2, 3, 4, 5, 2, 3, 2, 2, 5, 6, 7, 65, 4, 3]
var arr2 = []
方法一:遍历数组 indexOf() 找位置 返回索引值 没有找到返回 -1,第一次出现位置
for(var i=0;i<arr.length;i++){
if(arr2.indexOf(arr[i]) == -1){
arr2.push(arr[i])
}
}
console.log(arr2);
document.write(arr2);
方法二:纯遍历
function noRepeat(arr1) {
for (var i = 0; i < arr1.length; i++) {
var flag = true //定义一个布尔类型,true表示没有重复的
for (var j = 0; j < arr2.length; j++) {
if (arr1[i] == arr2[j]) {
// console.log("重复");
flag = false;
}
}
if (flag) {
arr2.push(arr1[i])
}
}
return arr2
}
var arr1=[1,2,3,4,2,22,3,43,5,2,3,4,2,6,7,45,5]
console.log(noRepeat(arr1));
var arr3=noRepeat(arr1).sort(function(a,b){ //按升序排序
return a-b;
})
console.log(arr3);
方法三: 利用for in
先遍历,把数组的每一项当做对象的属性名
取出所有的属性名,加到新的数组里 利用for in
var arr3 ={}
for(var i=0;i<arr.length;i++){
arr3[arr[i]]=''
}
console.log(arr3);
for(var key in arr3){
arr2.push(key)
}
console.log(arr2);
方法四:利用filter
arr.filter(function(item,index){
if(arr2.indexOf(item)==-1){
arr2.push(item)
}
return
})
console.log(arr2);
//方法五:利用foreach调出数组的每个元素,判断arr2中是否有该元素,无则加进去、
arr.forEach(function(item,index){
if(arr2.indexOf(item)==-1){
arr2.push(item)
}
return
})
console.log(arr2);
</script>
</html>
数组去重方法
最新推荐文章于 2024-06-16 17:58:59 发布