// 删除重复的
function only(arr){
	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;
}
console.log(only([6]));//[6]
console.log(only([1,9,8,8,0,6,0,6]));//[1, 9, 8, 0, 6]

// 往新数组中插入不重复的元素或在最后一个位置的重复元素
function only(arr){
var newArr = [],
len = arr.length;
for(var i = 0;i<len;i++){
    for(var j = i+1;j<len;j++){
        if(arr[i]===arr[j]){
			j = false;
			break;
    	}
	}
	if(j){
    	newArr.push(arr[i]);
	}
}
return newArr;
}
console.log(only([6]));//[6]
console.log(only([1,9,8,8,0,6,0,6]));//[1, 9, 8, 0, 6]

//往新数组中插入不重复的元素或在最后一个位置的重复元素
//难理解一些,关键是“j = ++i;”,相当于开启新一轮的i循环(外层循环)
function only(arr){
    var newArr = [],
    len = arr.length;
    for(var i = 0;i<len;i++){
        for(var j = i+1;j<len;j++){
            if(arr[i] === arr[j]){
		j = ++i;
	    }
    	}
	newArr.push(arr[i]);
    }
    return newArr;
}
console.log(only([6]));//[6]
console.log(only([1,9,8,8,0,6,0,6]));//[1, 9, 8, 0, 6]

//将数组元素设为对象属性,值为true;如重复,不再添进数组
function only(arr){
    var newArr = [],
        obj = {},
        m;
    for(var i = 0;(m = arr[i]) !== undefined;i++){
        if(!obj[m]){
            newArr.push(arr[i]);
            obj[m] = true;
        }
    }
    return newArr;
}
console.log(only([6]));//[6]
console.log(only([1,9,8,8,0,6,0,6]));//[1, 9, 8, 0, 6]

  

js数组去重的四种方式的更多相关文章

  1. JS 数组去重的几种方式

    JS 常见的几种数组去重方法 一.最简单方法(indexOf 方法) 实现思路:新建一个数组,遍历要去重的数组,当值不在新数组的时候(indexOf 为 -1)就加入该新数组中: function u ...

  2. js 数组去重的几种方式及原理

    let arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,' ...

  3. js数组去重的三种方式的比较

    做前端的,一般实现功能是主要的,但是重中之重却是在做到功能完善的情况下提高性能. 1.遍历数组法 实现的思路:构建一个新的数组存放结果,for循环中每次从原数组中取出一个元素,用这个元素循环与结果数组 ...

  4. JS数组去重的几种常见方法

    JS数组去重的几种常见方法 一.简单的去重方法 // 最简单数组去重法 /* * 新建一新数组,遍历传入数组,值不在新数组就push进该新数组中 * IE8以下不支持数组的indexOf方法 * */ ...

  5. js 复制文本的四种方式

    js 复制文本的四种方式 一.总结 一句话总结:js文本复制主流方法:document的execCommand方法 二.js 复制文本的四种方式 纯 转载复制,非原创 原地址:http://www.c ...

  6. js数组去重的4种方法

    js数组去重,老生长谈,今天对其进行一番归纳,总结出来4种方法 贴入代码前 ,先对浏览器Array对象进行支持indexOf和forEach的polyfill Array.prototype.inde ...

  7. JS数组去重的6种算法实现

    1.遍历数组法 最简单的去重方法,实现思路:新建一新数组,遍历传入数组,值不在新数组就加入该新数组中:注意点:判断值是否在数组的方法"indexOf"是ECMAScript5 方法 ...

  8. js 实现复制功能的四种方式的优劣对比

    今日网上浏览别人项目,看到有人用了document.execCommand这个属性,于是想起之前我选用Clipboard.js 来实现.对于这种不常用的属性还是不太放心,于是随手查了下关于复制的资料, ...

  9. JavaScript数组去重的四种方法

    今天,洗澡的想一个有趣的问题,使用js给数组去重,我想了四种方法,虽然今天的任务没有完成,5555: 不多说,po代码: //方法一:简单循环去重    Array.prototype.unique1 ...

随机推荐

  1. js 目录树

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  2. python编写简单的html登陆页面(1)

    1  html 打开调式效果如下 2  用python后台编写 # coding:utf-8# 从同一个位置导入多个工具,# 这些工具之间可以用逗号隔开,同时导入# render_template渲染 ...

  3. JS 从36个数字里面随机抽取8个

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  4. How many integers can you find HDU - 1796_容斥计数

    Code: #include<cstdio> using namespace std; typedef long long ll; const int R=13; ll a[R]; ll ...

  5. echarts示例

    将做过的echarts图表通过示例形式展示,便于以后使用,基于vue ,echarts,leancloud实现 github源码地址:https://github.com/707293891/echa ...

  6. nginx日志按天自动切割

    1.编写shell脚本,创建nginx_log.sh文件#!/bin/bashsource /etc/profile#设置Nginx日志文件存放目录log_path="/usr/local/ ...

  7. Python数据分析-----数据分类

    1.常见的分类算法主要有: (1)KNN算法 (2)贝叶斯方法 (3)决策树 (4)人工神经网络 (5)支持向量机(SVM) 2.KNN算法 (1)KNN应用场景: 比方说样本中有很多零食.很多电器. ...

  8. 30 包含min函数的栈(举例让抽象问题具体化)

    题目描述: 定义栈的数据结构(push/pop),请在该类型中实现一个能够得到栈中所含最小元素的min函数(三者的时间复杂度都应为O(1)). 测试用例: 1)新压入栈的数字比之前的最小值大/小 2) ...

  9. Orcale-利用闪回恢复数据方法

    一.delete误删 方法1:如果表结构没有改变,直接闪回整个表,具体步骤: --首先需要表闪回权限,开启行移动功能 alter table 表名 enable row movement; --执行闪 ...

  10. MYSQL存储过程初步认知

    存储过程(Stored Procedure): 一组可编程的函数,是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中,用户可通过指定存储过程的名字并给定参数(需要时)来调用执行. 优点:将重 ...