1、先排序,在让相邻元素对比去重

  const nums = [3, 1, 1, 5, 2, 3, 4, 3, 5, 5, 6, 4, 6, 6, 6];
Array.prototype.arrayNorepeat = function () {
let arr = this;
let len = arr.length - 1;
let i = 0;
//先给数组排序
for (; i < len; ++i) {
let j = 0;
for (; j < len - i; ++j) {
if (arr[j] > arr[j + 1]) {
arr[j] = arr[j] + arr[j + 1];
arr[j + 1] = arr[j] - arr[j + 1];
arr[j] = arr[j] - arr[j + 1];
}
}
}
//对数组进行去重
for (i = 0; i < arr.length; ++i) {
if (arr[i] === arr[i + 1]) {
arr.splice(i, 1);
//一旦相邻两个元素相等,外层循环的初始值从0开始
i = -1;
}
}
return arr;
}
console.log(nums.arrayNorepeat());

2、直接去重(排序方式是按照初始的排序方式)

  const nums = [3, 1, 1, 5, 2, 3, 4, 3, 5, 5, 6, 4, 6, 6, 6];
Array.prototype.arrayNorepeat = function () {
let arr = this;
let i = 0;
for (; i < arr.length; ++i) {
let j = 0;
for (; j < arr.length; ++j) {
if (i != j) {
if (arr[i] === arr[j]) {
//如果你想保留最后一个重复的数字,把splice方法的j改成i就可以了
arr.splice(j, 1);
//一旦相邻两个元素相等,外层循环的初始值从0开始
i = -1;
}
}
}
}
return arr;
}
console.log(nums.arrayNorepeat());

最新文章

  1. Constraint5:unique 约束和null
  2. 正则表达式测试器 beta_
  3. 【BZOJ 1051】【HAOI 2006】受欢迎的牛
  4. RESTful的理解
  5. Greenplum各种Tips(不定时更新)
  6. Linux date命令的用法
  7. BZOJ3238 [Ahoi2013]差异
  8. unity3d引擎程序员养成
  9. 校友信息管理系统&amp;SNS互动平台之用户需求及概要设计
  10. InstallShield12豪华版破解版下载|InstallShield下载|软件打包工具
  11. 数据结构读书笔记(二)(C语言)
  12. HDU2093--考试排名
  13. 照着例子学习 protobuf-lua
  14. 0517JS综合练习、挂事件练习
  15. linux windows 传输文件
  16. java调用ws服务
  17. C++学习(二十一)(C语言部分)之 函数2
  18. redis的5种类型和所用命令
  19. vue实现短信验证码登录
  20. SOCKET简单爬虫实现代码和使用方法

热门文章

  1. Vulnhub靶场渗透练习(二) Billu_b0x
  2. python- = 与 ==的区别
  3. 【原】centos上安装newman
  4. 百万年薪python之路 -- socket()模块的用法
  5. 百万年薪python之路 -- 变量及if的练习
  6. Activity 学习(二) 搭建第一个Activity流程框架
  7. linux小白的入门和目标。
  8. Spring使用@Async注解
  9. C语言打印年历
  10. Alibaba Java Coding Guidelines,以后的Java代码规范,就靠它了