当前位置: 首页 > news >正文

javascript数组去重复

数组去重

知乎上看到有人去腾讯面试,然后发了面试的js题目,有一个是数组去重

我的土办法

var arr = ['a', 'g', 'q', 'd', 'a', 'e', 'q'];
console.log(arr);

var d = {}
for (var x in arr) {
    d[arr[x]] = 1;
}
arr = []
for (var x in d) {
    arr.push(x);
}
console.log(arr);

别人家的代码 - 高端大气

var arr = ['a', 'g', 'q', 'd', 'a', 'e', 'q'];
Array.prototype.unique = function() {
    for (var i = 0; i < this.length; i++) {
        for (var j = i + 1; j < this.length; j++) {
            if (this[i] == this[j]) {
                this.splice(j, 1);
            }
        }
    }
    return this;
};
console.log(arr.unique());

// 作者: Dreawer
// 链接: https: //zhuanlan.zhihu.com/p/25685164

没有对比就没有伤害

差别在于对api的不熟悉,思维就局限了,常用对象多熟悉:
JavaScript Array 对象

相关文章:

  • Java中Collections的frequency方法
  • ng之ng-app指令
  • 使用命令wsimport构建WebService客户端
  • 【14点正式开始】技术与架构,解析如何将大数据最快落地到实践
  • Apache2.2和Apache2.4中httpd.conf配置文件 权限的异同
  • 分布式事务:不过是在一致性、吞吐量和复杂度之间,做一个选择
  • flask, SQLAlchemy, sqlite3 实现 RESTful API 的 todo list, 同时支持form操作
  • windows下npm默认的全局路径
  • 113期:电子书《阿里巴巴技术实战2016年刊》重磅发布,免费下载!
  • 硬币翻转问题,区间操作
  • java设计模式之建造者模式
  • jQuery-切换事件2
  • centos7 下进行数据库自动备份
  • sharepoint 一个farm中部署多个sql
  • 建立一个全数据管理的分析平台,该如何落实?
  • Apache的80端口被占用以及访问时报错403
  • go语言学习初探(一)
  • Magento 1.x 中文订单打印乱码
  • PAT A1092
  • PHP 程序员也能做的 Java 开发 30分钟使用 netty 轻松打造一个高性能 websocket 服务...
  • 阿里研究院入选中国企业智库系统影响力榜
  • 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
  • 如何正确配置 Ubuntu 14.04 服务器?
  • 温故知新之javascript面向对象
  • 线上 python http server profile 实践
  • 想使用 MongoDB ,你应该了解这8个方面!
  • 赢得Docker挑战最佳实践
  • 原生Ajax
  • 云栖大讲堂Java基础入门(三)- 阿里巴巴Java开发手册介绍
  • Java性能优化之JVM GC(垃圾回收机制)
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • 如何通过报表单元格右键控制报表跳转到不同链接地址 ...
  • ​插件化DPI在商用WIFI中的价值
  • ​如何在iOS手机上查看应用日志
  • #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】
  • (4)事件处理——(2)在页面加载的时候执行任务(Performing tasks on page load)...
  • (AtCoder Beginner Contest 340) -- F - S = 1 -- 题解
  • (java版)排序算法----【冒泡,选择,插入,希尔,快速排序,归并排序,基数排序】超详细~~
  • (pojstep1.1.2)2654(直叙式模拟)
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (二)hibernate配置管理
  • (附源码)springboot炼糖厂地磅全自动控制系统 毕业设计 341357
  • (机器学习-深度学习快速入门)第一章第一节:Python环境和数据分析
  • (实战篇)如何缓存数据
  • (一) springboot详细介绍
  • (转)visual stdio 书签功能介绍
  • ***测试-HTTP方法
  • .net 4.0发布后不能正常显示图片问题
  • .net core 控制台应用程序读取配置文件app.config
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .net 按比例显示图片的缩略图
  • .NET 解决重复提交问题
  • .NET 使用 XPath 来读写 XML 文件
  • .NET/C# 使用反射调用含 ref 或 out 参数的方法
  • .Net7 环境安装配置