JavaScript实现数组去重的方式

2019-09-26  本文已影响0人  一只流浪的小码农

1.使用ES6的Set进行去重

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>数组去重</title>
    </head>
    <body>
        <script type="text/javascript">
            function array_dedup(arr) {
                return Array.from(new Set(arr));
            }
            let arr = array_dedup([1, 2, 3, 3, 4, 5, 5, 6]);

            console.log(arr); //1,2,3,4,5,6
        </script>
    </body>
</html>
使用此方法非常简单,通俗易懂。该方法主要利用了Set内部结构的原理,然后通过Array.from()方法将set转换为数组,一点就通。

2.使用indexof去重

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>数组去重</title>
    </head>
    <body>
        <script type="text/javascript">
            let arrs = [1, 2, 3, 4, 5, 5, 6];
            function arraydedep(arr) {
                let temp = [];
                for(let i = 0; i < arr.length; i++) {
                    if(temp.indexOf(arrs[i]) == -1) {
                        temp.push(arrs[i])
                    }
                }
                return temp;
            }
            let arr = arraydedep(arrs);
            console.log(arr); //1,2,3,4,5,6
        </script>
    </body>
</html>

3.扩展运算符和Set实现去重

<!DOCTYPE html>
<html>
  <head>
      <meta charset="UTF-8">
      <title>数组去重</title>
  </head>
  <body>
      <script type="text/javascript">
          let arr = [1, 2, 2, 3, 3, 4, 5];
          let unique = [...new Set(arr)];
          console.log(unique); //输出1,2,3,4,5
      </script>
  </body>
</html>
上一篇下一篇

猜你喜欢

热点阅读