zoukankan      html  css  js  c++  java
  • JavaScript 数组去重

    Array.prototype.RemoveRepeat= function () {
        // 构建一个新数组存放结果
        var newArray = [];
        // 创建一个空对象
        var object = {};
        // for循环时,每次取出一个元素与对象进行对比
        // 如果这个元素不重复,则将它存放到结果数中
        // 同时把这个元素的内容作为对象的一个属性,并赋值为1,
        // 存入到第2步建立的对象中
        for (var i = 0; i < this.length; i++){
            // 检测在object对象中是否包含遍历到的元素的值
            if(!object[typeof(this[i]) + this[i]]) {
                // 如果不包含,将存入对象的元素的值推入到结果数组中
                newArray.push(this[i]);
                // 如果不包含,存入object对象中该属性名的值设置为1
                object[typeof(this[i]) + this[i]] = 1;
            }
        }
        return newArray;
    }

    思路:对象键值对法

    • 创建一个JavaScript对象以及新数组
    • 使用for循环遍历原数组,每次取出一个元素与JavaScript对象的键做对比
    • 如果不包含,将存入对象的元素的值推入到结果数组中,并且将存入object对象中该属性名的值设置为1
    • 注:【1】和【'1'】无法区分。

    测试:

    eg: var arr = [1,2,3,4,'a','b',1,3,4,56,32,34,2,'b','c',5,'1','2'];
    execute:arr.RemoveRepeat();
    result:[1, 2, 3, 4, "a", "b", 56, 32, 34, "c", 5, "1", "2"]
     
     
  • 相关阅读:
    python 字符串前面加u,r,b的含义
    文本检测: CTPN
    ocr 识别 github 源码
    python 中写hive 脚本
    Win10 环境安装tesseract-ocr 4.00并配置环境变量
    OCR 识别原理
    pandas set_index和reset_index的用法
    整理 pandas 常用函数
    js es6 map 与 原生对象区别
    js 暂时性死区
  • 原文地址:https://www.cnblogs.com/wu-peng/p/5673865.html
Copyright © 2011-2022 走看看