精华内容
下载资源
问答
  • 这里就不多提及,现在有一个场景:我有6个按钮,分别是语文,数学,英语,政治,历史,地理,每一个有对应的id值,现在要把用户选中的科目id传给后台,如果单独使用去重方法,只能去除重复的id,不能去除用户选中...

    我们都知道ES6中去重的方法new Set,这里就不多提及,现在有一个场景:我有6个按钮,分别是语文,数学,英语,政治,历史,地理,每一个有对应的id值,现在要把用户选中的科目id传给后台,如果单独使用去重方法,只能去除重复的id,并不能去除用户选中又取消掉的id。
    直接上代码,写的比较丑,应该有更好的方法,欢迎留言。。

    for (let item of lists) {
          if (
            lists.filter(item2 => {
              return item2 == item;
            }).length > 1
          ) {
            lists = lists.filter(item2 => {
              return item2 != item;
            });
            this.setData({
              list: lists
            })
          }
        }
    

    在此之前,可以先将用户选中的id,push进一个新数组。

    if (chooseId) {
          list.push(chooseId)
        }
        var lists = list
        var arr = [];
        for (var i in lists) {
          arr.push(lists[i]);
        }
    

    最后返回的就是用户选中的id,如果选中又取消的id,将会从原数组中被删除。

    展开全文
  • 原生js数组去重并排序方法filter、sort 今天在复习原生js的时候,看到了关于数组的方法,之前都没有好好的研究。玩了一会还挺有意思的,数组去重以前都是自己用冒泡排序写的,看了函数之后我自己用函数写了一下,...

    原生js数组去重并排序方法filter、sort


    今天在复习原生js的时候,看到了关于数组的方法,之前都没有好好的研究。玩了一会还挺有意思的,数组去重以前都是自己用冒泡排序写的,看了函数之后我自己用函数写了一下,感觉简单了很多。具体代码如下:

    var arr = [1, 2, 2, 3, 4, 5, 8, 6, 7, 7, 8, 8, 0, 8, 6, 3, 4, 56, 2];
    var arr2 = arr.filter((x, index,self)=>self.indexOf(x)===index);
    // 获取arr中值为x且indexOf为index的值加入新数组(把当前值加入数组,删除其他相同的值)
    function compare(val1,val2){
    	return val1-val2;
    }//为sort()函数制定规则,函数compare中的返回值为正,则val1,val2的位置保持不变,返回值为负,则位置互换。
    console.log(arr2.sort(compare)); //[0, 1, 2, 3, 4, 5, 6, 7, 8, 56]
    

    具体用到的函数为filter()和sort();
    filter((参数)=>规则)
    在这个例子中用到的参数是:x(arr[x])、index(当前值的下标)、self(arr数组);
    规则就是: 获取arr中值为x且indexOf为index的值加入新数组(把当前值加入数组,删除其他相同的值);
    sort()函数本身也是排序的,但是排序只会通过比较第一位数字来比较,比如说:sort([2,11,3])的输出值为[11,2,3],所以需要一个函数来帮助sort函数纠正错误,所以就写了一个compare来重新定义compare的排序规则(直接比较两数的大小,确保是否换位置)。
    方法大概就是这样了。。

    展开全文
  • JavaScript去重

    2020-05-14 21:13:54
    Array.from(new Set(arr))或[...new Set(arr)]: var arr = [1,1,2,5,6,3,5,5,6,8,9,8];...for循环嵌套,利用splice去重: function unique (origin) { let arr = [].concat(origin); for (let i = 0; i

    Array.from(new Set(arr))[...new Set(arr)]:

    var arr = [1,1,2,5,6,3,5,5,6,8,9,8];
    console.log(Array.from(new Set(arr)))
    // console.log([...new Set(arr)])
    

    for循环嵌套,利用splice去重

    function unique (origin) {
      let arr = [].concat(origin);
      for (let i = 0; i < arr.length; i++) {
        for (let j = i + 1; j < arr.length; j++) {
          if (arr[i] == arr[j]) {
            arr.splice(j, 1);
            j--;
          }
        }
      }
      return arr;
    }
    var arr = [1,1,2,5,6,3,5,5,6,8,9,8];
    console.log(unique(arr))
    

    新建数组,利用includes去重:

    function unique (arr) {
      let res = []
      for (let i = 0; i < arr.length; i++) {
        if (!res.includes(arr[i])) {
          res.push(arr[i])
        }
      }
      return res;
    }
    var arr = [1,1,2,5,6,3,5,5,6,8,9,8];
    console.log(unique(arr))
    

    先用sort排序,然后用一个指针从第0位开始,配合while循环去重

    function unique (arr) {
      arr = arr.sort(); // 排序之后的数组
      let pointer = 0;
      while (arr[pointer]) {
        if (arr[pointer] != arr[pointer + 1]) { // 若这一项和下一项不相等则指针往下移
          pointer++;
        } else { // 否则删除下一项
          arr.splice(pointer + 1, 1);
        }
      }
      return arr;
    }
    var arr = [1,1,2,5,6,3,5,5,6,8,9,8];
    console.log(unique(arr))
    

    待补充

    展开全文
  • 所以可以删除连续重复的地方 if (str.charAt(i)!== unStr){ unStr = str.charAt(i); result += unStr; console.log(result); } } return result; }   转载于:...
    function removeRepetition(str) {
                    var result = "",
                        unStr;
                    for(var i=0,len=str.length;i<len;i++){
                        //因为unStr始终是当前的str.charAt(i)的前一个字母   因为unStr的赋值unStr=str.charAt(i)是在上一轮循环完成的
                        //所以可以删除连续重复的地方
                        if(str.charAt(i)!==unStr){
                            unStr=str.charAt(i);
                            result+=unStr;
                            console.log(result);
                        }
                    }
                    return result;
                }

     

    转载于:https://www.cnblogs.com/cmy1996/p/9192553.html

    展开全文
  • JS数组去重,相信大多数前端朋友在面试过程中,遇到过。一般是要求手写或者大致讲一下思路。一旦被面试官问道,讲一下数组去重的方法?此时,我们如果可以回答10种或者7、8种,很有可能给我们的面试加分。 但是在...
  • 1.数组去重 var arr = ['apple','strawberry','banana','pear','apple','orange','orange','strawberry']; var r = arr.filter(function(element,index,self){ return self.indexOf(element) === index; }); co....
  • javaScript去重方法

    2020-09-15 22:37:32
    1、splice let arr = [1, 3, 7, 10, 10, 1, 6, 55, 3, 10, 10, 111]; for (let i = 0; i < arr.length; i++) { for (let j = i + 1; j < arr.length; j++) { // 第一个数与比... // 删除与第一个数比相等的数
  • JavaScript去重的方法

    2020-12-10 16:41:28
    //去重方法一: var arr = [1, 2, 2, 2, 5, 55, 4, 55, 2, 32]; for(var i = 0;i < arr.length;i++){ for(var j = i + 1;j < arr.length:j++){ //将重复的,删除后面的元素 if(arr[i] === arr[j]){ //...
  • js去重的方法

    2021-06-18 12:29:27
    js去重 1.使用indexOf和lastIndexOf方法 let arr = [2, 3, 1, 2, 2, 1, 5, 7, 3, 3] // 第一种 for (let i = 0; i < arr.length; i++) { if (arr.indexOf(arr[i]) != arr.lastIndexOf(arr[i])) { arr.splice...
  • JS之数组去重并排序

    2020-01-09 10:45:39
    定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后的新数组。 var nums = [0,0,1,1,1,2,2,3,3,4]; 代码如下: var nums = [0,0,1,1,1,2,2,3,3,4]; var b = nums.sort();//排序 ...
  • JS 数组去重删除指定数组元素) 将数组[2, 0, 6, 1, 77, 0, 52, 0, 25, 7]中的 0 去掉后,形成一个不包含 0 的新数组。     1、需要一个新数组用于存放筛选之后的数据。    &...
  • JS中数组去重并统计个数

    千次阅读 2020-07-22 15:36:54
    用两个for循环进行比较,如果数组中存在相同的属性,那么删掉后出现的重复属性,因为在JS中如果用delete删除的仅仅是属性值,没有将这个属性全部删除,其标签还在,其值变为empty(undefine),故需要再加入一个...
  • js去重补充

    2019-12-02 21:52:23
    <!... , initial-scale=1.0"> <title>Document ... var arr = [1, 1, 2, 2, 2, 3, 3,... // 删除前面重复的数 arr.splice(j, 1) break } } if (flag) { res.unshift(arr[i]) } } console.log(arr)
  • JS去重方法

    千次阅读 2018-07-24 09:39:02
    下面给大家补充介绍合并数组并去重的方法 一、concat()方法 思路:concat() 方法将传入的数组或非数组值与原数组合并,组成一个新的数组返回。该方法会产生一个新的数组。 ? 1 2 3 ...
  • js数组去重

    2020-11-30 16:11:01
    js数组去重
  • 数组去重对于前端来说不是一个常见的需求,一般后端都给做了,但这经常出现在面试中来考察面试者对JS的掌握程度。本文从数据类型的角度去思考数组去重这个问题,首先解决的是数组中只有基础数据类型的情况,然后是...
  • js 数组去重

    2020-09-29 16:19:02
    js 数组去重几种方法
  • JS数组去重

    2021-08-13 20:20:11
    JS数组去重 这篇文章归纳了几个常用的数组去重的方法,如果还有其他方法欢迎各位读者在评论区留言 方案一: 有一个叫做Set的数据结构,是一个类似数组的结构 这个数据结构不接收重复数据 语法:new Set(数组) ...
  • javascript数组去重总结

    2019-08-28 23:34:50
    javascript数组去重 前段时间项目里用过一些去重的方法,一般比较便捷的用new Set就可以了,当然这也是面试中常问的一个问题,常见方法大同小异,下面对以前整理过的内容,从性能方面再做一次rearrange references...
  • JavaScript数组去重

    2020-12-28 12:00:36
    JavaScript原生数组去重 这是一个适合刚刚接触js的同学用来练手学习的一个数组去重的方法,有原生的写法和方法的封装。数组在我们平时工作中还是经常会遇到的所以这个去重还是很有必要牢记的 原生写法 <script&...
  • javascript数组去重

    2019-10-27 16:42:49
    这个方法是非常经典的一个数组去重方式,使用比较方式,用数组的第一位和后一位进行比较,如果相等,则用splice方法删除掉当前一位;该方法虽然在大型数组去重的性能上面有一定缺陷,但是这个方法容易理解和应用,...
  • JS去重的几种方法

    2021-02-20 20:42:43
    1、利用set去重 代码如下(示例): function arr1(arr) { return Array.from(new Set(arr)) } var arr = [1, 1, 1, 2, 2, 3, 4, 5, 6, 3, 4, 2, 4, 1,]; console.log(arr1(arr)) 这是目前最简单的去重方法,但是不...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,120
精华内容 6,048
关键字:

js去重并删除