美文网首页
浅析数组翻转与数组去重

浅析数组翻转与数组去重

作者: 宁不空 | 来源:发表于2019-08-09 23:58 被阅读0次

世界上很多的困难,只是思维上设限。


数组翻转

数组翻转有很多方法,这里总结俩种:

  1. 原生方法 reverse
reverse.png
  1. 使用循环交换数组前后元素

    /**
    *  arr = [1,2,3,4,5,6,7]
    *  数组交换元素 即第一个跟最后一个 第二个跟倒数第二个...
    *  0       arr.length - 1 - 0
    *  1       arr.length - 1 - 1
    *  2       arr.length - 1 - 2
    *  总共交换次数 为 arr.length % 2 取余是为了防止个数为奇数
    *  据此可以写出函数
    **/
    var arr = [1,2,3,4,5,6,7];
    for(var i = 0, leng = arr.length % 2; i < leng; i += 1) {
      var temp = arr[i];
      arr[i] = arr[arr.length - 1 - i];
      arr[arr.length - 1 - i] = temp; 
    }
    

数组去重

数组去重也总结俩种方法

  1. 使用Set结构,es6新语法中的Set数据结构有着天然的去重性,不允许重复数据的存在,所以我们可以这样子操作
```javascript
 var arr = [1,2,1,4,3,5,6,2];
 arr = new Set(arr);
```
set.png
  1. 使用循环去重

    /*
    *  方法:
    *  首先声明一个新数组,插入原数组的第一项,然后依次用原数组的每一项与新数组的每一项比较,如果相同就跳出循环不处理,不同就在比较完新数组的每一项之后插入新数组
    */
    var arr = [2,3,5,6,1,2,98,5,2];
    var t = [];
    t.push(arr[0]);
    for(var i = 0, leng = arr.length; i < leng; i += 1) {
      for(var j = 0, lengs = t.length; j < lengs; j += 1) {
        if(arr[i] == t[j]) {
          // 如果新数组中存在与原数组相同的值,就跳出此次循环比较下一个数
          break;
        }
        if(j == t.length - 1) {
          // 如果比较到新数组的最后一项都没有相同的值,就将该值插入新数组
          t.push(arr[i]);
        }
      }
    }
    console.log(t);
    
循环去重.png

当然,比较的时候还以结合使用indexOf 或者 includes 来简化操作
1. indexOf

indexof.png
  1. includes
includes.png

相关文章

  • 浅析数组翻转与数组去重

    世界上很多的困难,只是思维上设限。 数组翻转 数组翻转有很多方法,这里总结俩种: 原生方法 reverse 使用循...

  • JS基础09-17

    数组面向对象创建 直接创建 数组嵌套 数组字符拼接 数组去重 字符串字符串翻转/字符串翻转---线分割数组,翻转,...

  • PHP数组去重

    PHP数组去重 array_unique: 此函数为数组翻转,也就是将原数组的键值翻转为键名,将原数组的键名翻转为...

  • Array集结号

    实现数组去重的几种方法 数组去重一 数组去重二 利用数组indexof+push实现数组去重 数组去重三 利用对象...

  • 数组对象去重的常见操作

    前言: 数组对象去重与数组去重的不同点在于,数组对象需要指定一个属性(key值)再进行去重。 1.数组对象的自定义...

  • 实现数组去重有哪些方式

    简单的数组去重 数组对象去重

  • 数组

    数组 数组常用方法 数组去重

  • 数组去重的四种方法

    利用双for循环去重 利用对象数组去重 利用对象数组去重并且记录重复次数 通过创建一个新数组进行数组去重

  • js数组扁平化和数组去重处理(对比)

    数组扁平化(多维数组)(es6) 数组去重 (es6) 数组去重(es5)

  • 数组的交差并&去重

    数组去重 数组交集 数组并集 数组差集

网友评论

      本文标题:浅析数组翻转与数组去重

      本文链接:https://www.haomeiwen.com/subject/kbfljctx.html