前端开发:JS中关于去重操作的使用

简介: 前端开发里面,在JS中关于数据去重操作的使用是非常常用,也是非常重要的点,一般情况下关于对数组去重点操作是最常用的,其次是具体的关于某一数据类型的去重操作,如字符串去重、数字去重等。那么本篇博文就来分享一下去重操作的使用,方便后期查阅使用。

前言

前端开发里面,在JS中关于数据去重操作的使用是非常常用,也是非常重要的点,一般情况下关于对数组去重点操作是最常用的,其次是具体的关于某一数据类型的去重操作,如字符串去重、数字去重等。那么本篇博文就来分享一下去重操作的使用,方便后期查阅使用。

核心的基本算法

遍历拿到的数据数组,然后把该数组中的元素存放到新的数组中,在存放到新数组之前要检查数组的元素是否已经存在,如果存在(相同元素,即重复元素)就不再放入新的数组中。

数据去重的基本用法

在JS中关于去重操作的使用一般是关于数组去重、字符串去重、数字去重,具体的使用示例如下所示。

1、数组去重

数组去重有三种方法:

方法一:indexOf循环去重;
方法二:ES6的Set去重;Array.from(new Set(arr));
方法三:Object 键值对去重;把数组的值存成 Object 的 key 值,比如 Object[valuea] = true, 在判断另一个值的时候,如果 Object[valueb]存在的话,就说明该值是重复的。
这里只拿indexOf 循环去重来做示例,其他关于JS中数组去重的方法请看博主另外的一篇单独介绍JavaScript中数组去重的方法汇总的文章。

示例数组:

var array = [1, 2, 3, 4, 5, 5, 4, 3, 2,1];

处理方法:

            function repeat(array){
                   var array1 = [];       // 新建数组用来存array的值
                   for(var i=0,leng=array.length;i<leng;i++){
                       if(array1.indexOf(array[i]) === -1){
                           array1.push(array[i]);
                       }
                   }
                   return array1;
                }
                console.log(unique(array));    // 数组输出结果: [ 1, 2, 3, 4, 5]

注意:indexOf是ES5新增加的函数,用来获取数组中元素的位置(下标),兼容性IE8+。

2、字符串去重

**示例字符串:**
var str = "12345678987654321”;
  处理方法:
function repeat(str){
          var str1 = ""; //用来接收去重后的字符串
          for(var i in str){
                if(str1.indexOf(str.charAt(i)) == -1){
                       str1+=str.charAt(i);
                }
            }
          return str1; // 返回去重后的字符串
      }
       // 输出结果repeat("123456789");

    // 字符串转换成数组
    function repeat1(str){
          var array = str.slice("");
          var str1 = uniqueArray(array);
          return str1.join("");
    }
     console.log(repeat1(str));  //输出结果repeat1("123456789");

3、数字去重

接着上面字符串去重的思路就比较简单许多,首先把数字转换成字符串,然后再做处理。12345678987654321去重之后结果为123456789。
**示例字符串:**
var str = "12345678987654321”;
  处理方法:
      function repeat(num){
          var str = num + "";
          var num1 = repeat(str); 
          return parseInt(num1);
    } 
     console.log(repeat(num));  // 输出结果repeat(123456789);

最后

通过上面介绍的JS中关于去重操作的使用汇总,常用的去重算法通过本文内容就可涵盖,在Vue.js开发中的使用就游刃有余了,这也是在开发过程中必用的功能,尤其是对于初中级开发者来说,更应该掌握这些情况的使用,这里不再赘述。以上就是本章的全部内容,欢迎关注三掌柜的微信公众号“程序猿by三掌柜”,三掌柜的新浪微博“三掌柜666”,欢迎关注!

相关文章
|
20小时前
|
前端开发 JavaScript API
只会用插件可不行,这些前端动画技术同样值得收藏-JavaScript篇(下)
只会用插件可不行,这些前端动画技术同样值得收藏-JavaScript篇(下)
|
20小时前
|
监控 JavaScript 前端开发
只会用插件可不行,这些前端动画技术同样值得收藏-JavaScript篇(上)
只会用插件可不行,这些前端动画技术同样值得收藏-JavaScript篇(上)
10 0
|
20小时前
|
JavaScript 前端开发 API
JS案例:前端Iframe及Worker通信解决思路
JS案例:前端Iframe及Worker通信解决思路
|
21小时前
|
JavaScript 前端开发
JS进阶篇(前端面试题整合)(三)
JS进阶篇(前端面试题整合)(三)
|
21小时前
|
前端开发 JavaScript
前端 JS 经典:箭头函数的意义
前端 JS 经典:箭头函数的意义
3 0
|
21小时前
|
前端开发 JavaScript
前端 JS 经典:变量交换
前端 JS 经典:变量交换
4 0
|
21小时前
|
前端开发 JavaScript
前端 JS 经典:函数签名
前端 JS 经典:函数签名
5 0
|
21小时前
|
前端开发 JavaScript
前端 JS 经典:数字变化动画
前端 JS 经典:数字变化动画
4 0
|
21小时前
|
前端开发 JavaScript
前端 JS 经典:访问器成员
前端 JS 经典:访问器成员
5 0
|
22小时前
|
前端开发 JavaScript 开发者
前端 JS 经典:通用性函数封装思路
前端 JS 经典:通用性函数封装思路
10 0