<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>去重</title>
</head>
<body>
<script>
//循环比较
function compMethod(arr){
var len = arr.length,temp;
for(var i = 0;i<len;i++){
temp = arr[i];
for(var j =i+1;j<len;j++){
if(arr[j]==temp){
arr.splice(j,1)
}
}
}
return arr
}
//对象属性
function objectMethod(arr){
var obj = {},array = [],len = arr.length;
for(var i = 0;i<len;i++){
if(!obj[arr[i]]){
obj[arr[i]] = 1;
array.push(arr[i])
}
}
return array;
}
//indexOf
function indMethod(arr){
var index,len = arr.length,array = [];
for(var i = 0;i<len;i++){
if(arr.indexOf(arr[i]) == i ) {
array.push(arr[i])
}
}
return array;
}
var arr = [1,1,3,3,4,4,6,'a','a'];
console.log(compMethod(arr));
console.log(objectMethod(arr));
console.log(indMethod(arr))
</script>
</body>
</html>

js去重的更多相关文章

  1. JS去重的几种常见方法

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

  2. JS去重函数的扩展应用

    数据: 账单id[1,1,1,1,2,2,2,3,3,3,3,3,3,3], 相对于账单id的金额[100,120,110,150,200,180,220,115,150,120,180,220,14 ...

  3. JS去重及字符串奇数位小写转大写

    面试中经常会考到数组的去重.作为一名合格的前端开发者,不知道几种去重方法是在不应该.废话不多说直接开撸-- 一.indexOf()方法 实现思路:使用indexOf()方法来判断新数组中是否有这个值, ...

  4. 分享一种容易理解的js去重排序方法

    <script> var arr=[1,8,6,4,88,22,99,4,6,86,5,58,89,5]; //先使用sort()函数去重 var a=arr.sort(function ...

  5. js去重合并

    1.去重 for(var q = 0;q<jsonArr.length;q++){   for(var e=0;e<jsonArr[q].data.length;e++){   var m ...

  6. 原生JS去重

    方式一: function deleteRepetionChar(arr){ //先判断输入进来的是数组对象还是字符串 if( typeof arr == "object"){ v ...

  7. JS去重算法

    1.遍历数组法 它是最简单的数组去重方法(indexOf方法) 实现思路:新建一个数组,遍历去要重的数组,当值不在新数组的时候(indexOf为-1)就加入该新数组中: var arr=[2,8,5, ...

  8. js去重的两种方法

    去重 去重方法和思路也很多,这里就介绍两种吧. 方法一: 1 2 3 4 5 6 7 8 9 10 11 function unique1(arr) {       var res = [],     ...

  9. JS去重的几种方法

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

随机推荐

  1. 使用websocket实现在线聊天功能

    很早以前为了快速达到效果,使用轮询实现了在线聊天功能,后来无意接触了socket,关于socket我的理解是进程间通信,首先要有服务器跟客户端,服务的启动监听某ip端口定位该进程,客户端开启socke ...

  2. 阶段小项目2:显示bin格式图片

    #include<stdlib.h>#include<stdio.h>#include<string.h>#include<error.h>#inclu ...

  3. 【汇总】Linux常用脚本shell

    [crontab] #每天6:00 执行a.sh00 6 * * * /bin/sh /home/work/rxShell/a.sh #每天3:20 执行a1.sh20 3 * * * /bin/sh ...

  4. 【HTTP协议】---TCP三次握手和四次挥手

    TCP三次握手和四次挥手 首先我们知道HTTP协议通常承载于TCP协议之上,HTTPS承载于TLS或SSL协议层之上 通过上面这张图我们能够知道.     在Http工作之前,Web浏览器通过网络和W ...

  5. [译]前端JS面试题汇总 Part 1(事件委托/this关键字/原型链/AMD与CommonJS/自执行函数)

    原文:https://github.com/yangshun/front-end-interview-handbook/blob/master/questions/javascript-questio ...

  6. Spring-Security+Freemarker 开启跨域请求伪造防护功能

         CSRF简介--摘抄自<Spring实战(第4版)> 我们可以回忆一下,当一个POST请求提交到"/spittles"上时,SpittleController ...

  7. Java中Dom解析xml文档

    xml文档 <?xml version="1.0" encoding="UTF-8"?> <bookstore> <book id ...

  8. LeetCode第四天

    leetcode 第四天 2018年1月4日 15.(628)Maximum Product of Three Numbers JAVA class Solution { public int max ...

  9. windows 如何编译 Openssl ?

    windows 如何编译 Openssl ? 编译环境 VS2015 Openssl 1.0.2 ActivePerl 5.24.3 x64 编译步骤 安装 ActivePerl 期间,勾选添加至环境 ...

  10. c++ 如何把RGB图像转换成HSV图像?

    CV_<bit_depth>(S|U|F)C<number_of_channels> 1--bit_depth---比特数---代表8bite,16bites,32bites, ...