请问老师还有其他方法嘛?

来源:3-11 项目作业

xcn_aaaa

2022-10-13 20:07:39

<!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>
    <script>
         const arr1 = [1, 1, '1', 17, true, true, false, false, 'true','a', {}, {}];

        // 1.利用set去重
        const newArr1 = [...new Set(arr1)];
        console.log(newArr1);

        // 2.利用reduce去重
        const arr2 = [1, 1, '1', 17, true, true, false, false, 'true','a', {}, {}];
        console.log(arr2.reduce(function(acl,val){
            acl.indexOf(val)==-1 && acl.push(val);
            return acl;
        },[]));
       

        // 3.for循环去重
        const arr3 = [1, 1, '1', 17, true, true, false, false, 'true','a', {}, {}];
        let newArr3 = [];
        for(let i = 0;i<arr3.length;i++){
            if(newArr3.indexOf(arr3[i])==-1){
                newArr3.push(arr3[i]);
            }
        }
        console.log(newArr3);
    </script>
</body>
</html>


写回答

1回答

好帮手慕星星

2022-10-14

同学你好,这三种方式没问题。

或者也可以使用map方法,参考:

https://img.mukewang.com/climg/6348be5c0945f00f08600297.jpg

祝学习愉快!

0

前端工程师

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

20327 学习 · 17877 问题

查看课程