请老师检查下代码,谢谢
来源:3-11 项目作业
不厌_
2021-06-30 00:10:11
相关代码:
<!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>数组去重</title>
</head>
<body>
<script>
const arr = [1, 1, '1', 17, true, true, false, false, 'true', 'a', {}, {}];
// 第一种,使用set加展开运算符去重,(或者forEach遍历Set添加进新数组,不如展开运算符方便)
const new_arr1 = [...new Set(arr)];
console.log(new_arr1, new_arr1 === arr);
// 第二种,遍历数组,使用includes方法
const new_arr2 = [];
for (let i = 0; i < arr.length; i++) {
if (!new_arr2.includes(arr[i])) {
new_arr2.push(arr[i]);
}
}
console.log(new_arr2, new_arr2 === arr);
// 第三种,使用indexOf方法
const new_arr3 = [];
for (let i = 0; i < arr.length; i++) {
if (new_arr3.indexOf(arr[i]) == -1) {
new_arr3.push(arr[i]);
}
}
console.log(new_arr3, new_arr3 === arr);
// 第四种,使用reduce方法
const new_arr4 = arr.reduce((prev, next) => {
prev.indexOf(next) == -1 && prev.push(next)
return prev;
}, []);
console.log(new_arr4, new_arr4 === arr);
</script>
</body>
</html>
1回答
同学你好,代码实现正确,很棒!!!祝学习愉快~
相似问题