javascript二维数组(13)数组去重的封装函数

js数组中'指挥大楼', '指挥大楼', '指挥大楼', '指挥大楼',去重生成新的数组。

  1. 利用字典(或哈希表):这种方法比较适用于需要保持原始顺序的情况。在这种方法中,我们遍历数组,将每个元素作为字典的键,如果元素已经存在则忽略,如果不存在则加入。

JavaScript代码如下:

javascript 复制代码
var uniqueArray = [];
for (var i = 0; i < array.length; i++) {
    if (!dict[array[i]]) {
        dict[array[i]] = true;
        uniqueArray.push(array[i]);
    }
}
  1. 利用双指针:这种方法比较适用于不需要保持原始顺序的情况。这种方法使用两个指针,一个用于遍历数组,另一个用于在去重后的数组中查找插入位置。

JavaScript代码如下:

javascript 复制代码
function removeDuplicates(arr) {
    var i, j, n = arr.length, result = [];
    for (i = 0, j = 0; i < n; i++) {
        while (j < n && arr[j] === arr[i]) j++;
        if (j === n) result.push(arr[i]);
    }
    return result;
}
  1. 利用ES6中的Set对象:Set对象也是一种常用的去重方法,特别是当你需要保持元素的原始顺序时。

JavaScript代码如下:

javascript 复制代码
let array = ['指挥大楼', '指挥大楼', '指挥大楼', '指挥大楼'];
let uniqueArray = [...new Set(array)];
console.log(uniqueArray);  // 输出: ['指挥大楼']

@漏刻有时

相关推荐
小厨勺子3 小时前
我用AIUI给Rokid眼镜做了个随身换算智能体
javascript
starzy19904 小时前
深入理解Scala隐式值:编译期自动装配
开发语言·后端·scala
布莱克6054 小时前
Swift 条件语句详解:从 if 到 switch 的完整指南
开发语言·ssh·swift·switch·条件语句·guard·if
夕水4 小时前
我用trae重构了ew-color-picker,一个插件化架构的现代颜色选择器
前端·javascript·开源
吴可可1234 小时前
ActiveX调用WScript.Shell原理揭秘
开发语言
晴天的雨.9925 小时前
【C++】继承篇
java·开发语言·c++
SomeOtherTime5 小时前
第 1 讲:内存布局与所有权解剖——栈帧、胖指针与“移动/拷贝”在汇编层面的真实面目
java·开发语言·汇编
FYKJ_20106 小时前
springboot同人周边订单管理系统48955-计算机毕业设计、课程设计
java·javascript·vue.js·spring boot·django·php·课程设计
总要学点什么6 小时前
第106篇:三维特效-流动线效果——让一颗光点沿整条线一路滚到头
开发语言·javascript·ecmascript·gis·webgl·材质·cesium
2分钟速写快排13 小时前
孔乙己的茴字有多少种写法?|AI 对话实时通信的三种实现
前端·javascript·github