<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
</body>
<script>
var arr = [10, 20, 7, 123, 10, 10, 10, 8, 34, 34, 34, 20, 34, 100];
// console.log("原数组:",arr);
console.log("去重后数组:", qc(arr));
//实现数组去重 最终结果 [10,20,7,123,8,34,100]
//实现一:取当前遍历的这一项,去数组中和后面的元素一一比对,如果有相同的值,删除
function qc(arr) {
for (var i = 0; i < arr.length - 1; i++) {
for (var j = i + 1; j < arr.length; j++) {
if (arr[i] === arr[j]) {
arr.splice(j, 1);
i--;
}
}
}
return arr;
}
//实现二:当前遍历的值在数组中第一次出现的索引是不是当前遍历到的这个值的索引,如果不是,就是重复项,删除
function qc(arr) {
for (var i = 0; i < arr.length; i++) {
if (arr.indexOf(arr[i]) !== i) {
arr.splice(i, 1);
i--;//索引前置
}
}
return arr;
}
//借助新数组
function qc(arr) {
var newArr = [];
for (var i = 0; i < arr.length; i++) {
if (arr.indexOf(arr[i]) === i) {
newArr.push(arr[i]);
}
}
return newArr;
}
//实现三:除了可以删除重复的,我们也可以借助一个新数组,去存储非重复项;假设我取值,判断这个值在新数组中是否有,如果没有,则存到新数组中
function qc(arr) {
var newArr = [];
for (var i = 0; i < arr.length; i++) {
if (newArr.indexOf(arr[i]) === -1) {
newArr.push(arr[i]);
}
}
return newArr;
}
</script>
</html>
js 数组去重的方式
最新推荐文章于 2023-09-27 00:53:42 发布