去重(JS实现)
<!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>
<script>
/*
去重复,首先是需要将数据存储到数组中,遍历数组后,判断是否相同,将相同的元素去掉。
这时候就需要用到splice(index, howmany, item1,...itemX)方法。
此方法会改变原数组。
将这玩意放到函数中,比较好测试
*/
var arr = [24, 21, 3, 13, 12, 12, 21, 3, 3, 2, 1, 1, 0, 2];
var arr1 = ['a', 'a', '我是最帅', '你最帅', '你最帅', 'b', 'b'];
//去重的函数
function remove_repeat(array){
for(var i = 0; i < array.length; i++){
for(var j = (i+1); j < array.length; j++){
if(array[i] == array[j]){
array.splice(j, 1);
j--; //精髓所在,这句是为了能够删除连续相同的数字的。可以将数值打印出来直观判断。
}
}
}
}
//将数组输出
function print_arr(arr){
for(var i = 0; i < arr.length; i++){
console.log((i+1) + ": " + arr[i]);
}
}
//纯数字
//调用函数,将需要去重的函数放进去,由于是同一个地址,所以会互相影响元素的值。
remove_repeat(arr);
//去重后输出
print_arr(arr);
// 字符串
remove_repeat(arr1);
print_arr(arr1);
</script>
</head>
<body>
</body>
</html>
这里是运行结果