数组去重
来源:互联网 发布:超图软件 福州软件园 编辑:程序博客网 时间:2024/06/01 07:14
一、ES3方法:
var arr = ['a', 'a', 'b', 'b', 'b', 'c', 'e', 'f', 1, 2, 2, 3, 3, 3];
创建一个空数组与原来数组进行比较
//与前面的数组进行比较(不会改变原数组)function deleteRepeat() { var result = []; label: for(var i=0; i<arr.length; i++) { for(var j=0; j<result.length; j++) { if(result[j] == arr[i]) { continue label; } } result.push(arr[i]); } return result;}
//与后面的进行比较(不会改变原数组)function deleteRepeat() { var result = []; for(var i = 0; i < arr.length; i++) { for(var j = i+1; j < arr.length; j++) { if(arr[i] == arr[j]) { j = ++i; } } result.push(arr[i]); } return result;}
// splice()方法 (会改变原数组)function deleteRepeat() { for(var i = 0; i < arr.length; i++) { for(var j = i+1; j < arr.length; j++) { if(arr[i] == arr[j]) { arr.splice(j, 1); j--; } } } return arr;}
// 利用对象的属性不能重复特点(不会改变原数组)function deleteRepeat() { var result = []; var object = {}; for(var i = 0; i < arr.length; i++) { var t = arr[i]; if(!object[t]) { result.push(t); object[t] = true; } } return result;}
// 先排序再去重(只需要进行一次for循环、 会改变原数组)function deleteRepeat() { var arr1 = arr.sort(); var result = []; for(var i = 0; i < arr1.length; i++) { if(arr1[i] != arr1[i+1]) { result.push(arr1[i]); } } return result;}
二、ES5方法:
利用IndexOf()方法
map()方法或forEach()方法或filter()方法
阅读全文
0 0
- 数组去数组重
- 数组去重,json数组去重
- 数组去重
- 数组去重
- JS 数组去重
- 数组去重算法
- 数组去重
- js数组去重
- php 数组去重
- 数组去重
- 数组排序去重
- javascript数组去重
- json数组去重
- 数组去重
- php数组去重
- 数组如何去重
- iOS 数组去重
- 动态数组去重
- Hibernate使用JPA实现一对多配置
- 简单的加减乘除
- 通过CustomMenuItem增加AnimationCurveAsset
- IDEA日常使用
- [TensorFlow] Ubuntu 16.04 配置 tensorflow gpu 环境
- 数组去重
- 网络请求图片,文字,展现在ListView上
- AFNetWorking下载网络音乐视频或者图片
- Android TextView关于android:ellipsize=end的一个bug
- 最新的Angular 5 入门与提高
- 51nod 1836 战忽局的手段(期望+矩阵快速幂)
- nodeJS 在sublime显示乱码问题
- mybatis in条件查询(foreach)
- ecplise安装jrebel 及激活