请老师检查下代码,谢谢

来源: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回答

好帮手慕慕子

2021-06-30

同学你好,代码实现正确,很棒!!!祝学习愉快~

0

前端工程师

前端入门如同写字,如果你不知道从哪开始,那就选择前端(含Vue3.x,React17,TS)

20327 学习 · 17877 问题

查看课程