• js 删除数组中重复元素


    我现在大三。前几天做了一下阿里巴巴春季面试题,其中有一道是:编写一个函数,传入一个数组,如果有相同的元素,删除元素。返回数组

    思考了一下,我的步骤很简单

    (1)先把数组排序。

    (2)如果第i个和i+1个相同,则删掉其中一个元素就可以了

    先贴代码如下:

    function delRepeat(arr){
      arr.sort(function(a,b){
        return a>b? 1:-1;
      });


      for(var i = 0;i<arr.length;i++){
        if(arr[i] === arr[i+1]){
          arr.splice(i,1);
        }
      }
      return arr;
    }

    分析:利用数组方法 sort().但是sort()方法不能准确按照数字大小返回,因为这个方法是按照字典序排列。所以return a>b? 1:-1;这一句来保证数组从小到大排列。

      接下来判断如果第i个和i+1个相同,则用数组的splice()方法。第一个参数是删除元素的开始位置,第二个参数是删除的个数。(返回一个包含被移除元素的数组)。

      好了,这样就简单实现了。

    示例:       var arr = [1,23,4,32,4];

    浏览器返回:  delRepeat(arr);

            [1, 4, 23, 32]

    问题:如果题目要求不能排序,怎么做我就没思路了…………

  • 相关阅读:
    FMDB增删查改
    https相关内容
    支付宝、微信支付参考博客
    下标脚本(Swift)
    函数(swift)
    控制流(swift)
    UIView Methods
    oc js 交互
    我和Lua并非一见钟情,我们期待着日久生情(相遇篇)
    与Python Falling In Love_Python跨台阶(面向对象)
  • 原文地址:https://www.cnblogs.com/yanpu/p/4557568.html
Copyright © 2020-2023  润新知