javascript之数组的6种去重方法
去重
var arr=[11,11,333,4,4,5,66,66,7];
// 方法一:在新数组内判断不存在时加入
var newarr1=[];
function quchong1(){
for(var i=0;i<arr.length;i++){
if(newarr1.indexOf(arr[i])==-1){
newarr1.push(arr[i])
}
}
console.log(newarr1)
}
quchong1()
// 方法二:前后数组比较,若相等,跳过该数
var newarr2=[];
function quchong2(){
for(var i=0;i<arr.length;i++){
for(var j=i+1;j<arr.length;j++){
if(arr[i]==arr[j]){
j=++i
}
}
newarr2.push(arr[i])
}
return newarr2
}
quchong2()
console.log(newarr2)
// 方法三:es6 Set自动去除重复数据
let newarray3 =[...new Set(arr)] ;
console.log(newarray3);
// 方法四
var a = {}, newarr4 = []
function quchong4() {
for (var i = 0; i <arr.length; i++) {
var arr1 = arr[i];
var d = (typeof arr1) + arr1;
if (a[d] === undefined) {
newarr4.push(arr1);
a[d] = 1;
}
} }
quchong4();
console.log(newarr4);
// 方法五:自己与自己比较,若相等,删除该位置的数据
var newarray5=arr;
for (var i = 0; i < newarray5.length; i++) {
for (var j = 0; j < newarray5.length; j++) {
if(i!=j){
if(newarray5[j] == newarray5[i]){
newarray5.splice(i,1)
}
}
}
}
console.log(newarray5)
// 方法六:indexof每次只返回第一个元素的位置,
var newarray6 = arr.filter(function (element, index, arr2) {
return arr2.indexOf(element) === index;
});
console.log(newarray6)
去空
String.prototype.trim=function(){
return this.replace(/(^\s+)|(\s+$)g,'')
}
str.trim()
function trim(str){
return str.replace(/(^\s+)|(\s+$)/g,'')
}
trim(str)
原生数组排序
function sort(arr){
for(var i=0;i<arr.length;i++){
for(var j=i;j<arr.length;j++){
if(arr[i]>arr[j]){
var max=arr[i];
arr[i]=arr[j];
arr[j]=max;
}
}
}
}
sort([....])
数组方法排序
arr.sort(function(a,b){return a-b})
注:
a-b升序
b-a降序
javascript之数组的6种去重方法的更多相关文章
- JavaScript中数组的两种排序方法详解(冒泡排序和选择排序)
一.冒泡排序的原理(从小到大) 相邻两个数进行比较,如果前一个数大于后一个数,那么就交换,否则不交换 原理剖析 比如有一组含有6个数字的数:5.3.7.2.1.6一共6个数字,做5次循环,每次循环相邻 ...
- JS中的五种去重方法
JS中的五种去重方法 第一种方法: 第二种方法: 第三种方法: 第四种方法: 第五种方法:优化遍历数组法 思路:获取没重复的最右一值放入新数组 * 方法的实现代码相当酷炫,* 实现思路:获取没重复的 ...
- JavaScript获取数组最小值和最大值的方法
本文实例讲述了JavaScript获取数组最小值和最大值的方法.分享给大家供大家参考.具体如下: ? 1 2 3 4 5 6 var arr = new Array(); arr[0] = 100; ...
- javascript中数组的22种方法
× 目录 [1]对象继承 [2]数组转换 [3]栈和队列[4]数组排序[5]数组拼接[6]创建数组[7]数组删改[8]数组位置[9]数组归并[10]数组迭代[11]总结 前面的话 数组总共有22种方法 ...
- javascript中数组的22种方法 (转载)
前面的话 数组总共有22种方法,本文将其分为对象继承方法.数组转换方法.栈和队列方法.数组排序方法.数组拼接方法.创建子数组方法.数组删改方法.数组位置方法.数组归并方法和数组迭代方法共10类来进行详 ...
- JavaScript数组的三种定义方法
数组的定义: <script type="text/javascript"> // <!--声明数组--> // 1.先声明数组长度,后进行赋值 var a ...
- Java 数组的三种创建方法
public static void main(String[] args) { //创建数组的第一种方法 int[] arr=new int[6]; int intValue=arr[5]; //S ...
- Java 数组的三种创建方法,数组拷贝方法
public static void main(String[] args) {//创建数组的第一种方法int[] arr=new int[6];int intValue=arr[5];//Syste ...
- AJPFX关于Java中运用数组的四种排序方法
JAVA中在运用数组进行排序功能时,一般有四种方法:快速排序法.冒泡法.选择排序法.插入排序法.快速排序法主要是运用了Arrays中的一个方法Arrays.sort()实现.冒泡法是运用遍历数组进行比 ...
随机推荐
- Spring MVC使用Schedule实现定时任务
Schedule存在spring-context.jar包中. 实现简单步骤: 1.配置bean.xml开启定时任务支持. <?xml version="1.0" encod ...
- HDD磁盘,非4K无以致远
机械硬盘的未来要靠高容量作为依托,在财报中,希捷表示未来18个月内它们将推出14和16TB机械硬盘,而2020年20TB机械硬盘就将诞生.也有资料显示,3.5英寸100TB硬盘大概在2025年就能面世 ...
- Linux内核配置选项
http://blog.csdn.net/wdsfup/article/details/52302142 http://www.manew.com/blog-166674-12962.html Gen ...
- flask结合令牌桶算法实现上传和下载速度限制
限流.限速: 1.针对flask的单个路由进行限流,主要场景是上传文件和下载文件的场景 2.针对整个应用进行限流,方法:利用nginx网关做限流 本文针对第一中情况,利用令牌桶算法实现: 这个方法:h ...
- 安装ftp服务器
Linux安装ftp组件 1 安装vsftpd组件 安装完后,有/etc/vsftpd/vsftpd.conf文件,是vsftp的配置文件. [root@bogon ~]# yum -y insta ...
- 【Jqurey EasyUI+Asp.net】----DataGrid数据绑定,以及增、删、改(SQL)
也懒得打其他字了,直接进入主题吧 1.首先,数据表Rex_Test ID int 自增 tName varchar(10) 姓名 tEmail varchar(80) 邮箱 2.至于代码里的Jqure ...
- react map 遍历
1.map方法 注:map 返回的是一个新数组 class App extends Component { // constructor(props) { // super(props); // th ...
- UI标签库专题二:JEECG智能开发平台Column(列) 子标签
UI标签库专题二:JEECG智能开发平台Column(列) 子标签 1.1. Column(列) 子标签 1.1.1. 演示样例 <t:dgCol title="年龄" ...
- [POI 2001+2014acm上海邀请赛]Gold Mine/Beam Cannon 线段树+扫描线
Description Byteman, one of the most deserving employee of The Goldmine of Byteland, is about to re ...
- npoi 加密 https://bbs.csdn.net/topics/380226272
终于解决了,.1.用excel新建一个文件作为模板,可以是空内容,在excel中对文件进行加密,如密码为:12345. 2.在NPOI读取前,调用:Biff8EncryptionKey.Current ...