去重

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种去重方法的更多相关文章

  1. JavaScript中数组的两种排序方法详解(冒泡排序和选择排序)

    一.冒泡排序的原理(从小到大) 相邻两个数进行比较,如果前一个数大于后一个数,那么就交换,否则不交换 原理剖析 比如有一组含有6个数字的数:5.3.7.2.1.6一共6个数字,做5次循环,每次循环相邻 ...

  2. JS中的五种去重方法

    JS中的五种去重方法 第一种方法: 第二种方法:  第三种方法: 第四种方法: 第五种方法:优化遍历数组法 思路:获取没重复的最右一值放入新数组 * 方法的实现代码相当酷炫,* 实现思路:获取没重复的 ...

  3. JavaScript获取数组最小值和最大值的方法

    本文实例讲述了JavaScript获取数组最小值和最大值的方法.分享给大家供大家参考.具体如下: ? 1 2 3 4 5 6 var arr = new Array(); arr[0] = 100; ...

  4. javascript中数组的22种方法

    × 目录 [1]对象继承 [2]数组转换 [3]栈和队列[4]数组排序[5]数组拼接[6]创建数组[7]数组删改[8]数组位置[9]数组归并[10]数组迭代[11]总结 前面的话 数组总共有22种方法 ...

  5. javascript中数组的22种方法 (转载)

    前面的话 数组总共有22种方法,本文将其分为对象继承方法.数组转换方法.栈和队列方法.数组排序方法.数组拼接方法.创建子数组方法.数组删改方法.数组位置方法.数组归并方法和数组迭代方法共10类来进行详 ...

  6. JavaScript数组的三种定义方法

    数组的定义: <script type="text/javascript"> // <!--声明数组--> // 1.先声明数组长度,后进行赋值 var a ...

  7. Java 数组的三种创建方法

    public static void main(String[] args) { //创建数组的第一种方法 int[] arr=new int[6]; int intValue=arr[5]; //S ...

  8. Java 数组的三种创建方法,数组拷贝方法

    public static void main(String[] args) {//创建数组的第一种方法int[] arr=new int[6];int intValue=arr[5];//Syste ...

  9. AJPFX关于Java中运用数组的四种排序方法

    JAVA中在运用数组进行排序功能时,一般有四种方法:快速排序法.冒泡法.选择排序法.插入排序法.快速排序法主要是运用了Arrays中的一个方法Arrays.sort()实现.冒泡法是运用遍历数组进行比 ...

随机推荐

  1. 社区发现(Community Detection)算法

    作者: peghoty 出处: http://blog.csdn.net/peghoty/article/details/9286905 社区发现(Community Detection)算法用来发现 ...

  2. java通过反射获取bean字段注解@Column中的信息

    直接上代码吧: Field field; Field[] fields=clas.getDeclaredFields(); for (int i = 0; i <fields.length ; ...

  3. yum安装nginx详解

    原文:http://blog.csdn.net/tjcyjd/article/details/50686505 1.查看yum的nginx信息 # yum info nginx Loaded plug ...

  4. [Testing] Config jest to test Javascript Application -- Part 3

    Run Jest Watch Mode by default locally with is-ci-cli In CI, we don’t want to start the tests in wat ...

  5. 浅谈xss原理

    近日,论坛上面XSS满天飞,各处都能够见到XSS的痕迹,前段时间论坛上面也出现了XSS的迹象.然后我等小菜不是太懂啊,怎么办?没办法仅仅有求助度娘跟谷歌这对情侣了. 能够说小菜也算懂了一些.不敢藏私, ...

  6. oracle 11G direct path read 非常美也非常伤人

    direct path read 在11g中,全表扫描可能使用direct path read方式,绕过buffer cache,这种全表扫描就是物理读了. 在10g中,都是通过gc buffer来读 ...

  7. saltstack安装配置(syndic)

    syndic是saltstack用来做集群部署的,一般结构如图: syndic是一个特殊的minion,syndic类继承于minion类,syndic可以看作一个代理,只做数据传递. CentOS上 ...

  8. @SuppressWarnings 用法

    从Java 5.0起,您可以使用java.lang.SuppressWarning注释,来停用与编译单元子集相关的编译警告 作用:用于抑制编译器产生警告信息. Idea 设置泛型检查,变量.方法未使用 ...

  9. openwrt procd 运行的一些log

    void procd_inittab(void) { #define LINE_LEN 128 FILE *fp = fopen(tab, "r"); struct init_ac ...

  10. linux 输入子系统(4) intput_dev 接口描述

    Name struct input_dev - represents an input device Synopsis struct input_dev { const char * name; // ...