//第一种方法,新建一个空数组,将原来的数组循环逐个与新数组的成员做比较,如果新数组没有该元素就push进来

var arr = ['a', 1, 1, 1, 2, 4, 4, 'b', 'c', 'a'];

var newArr = [];

var len = arr.length;

for (i = 0; i < len; i++) {

var flag = false;

for (var member of newArr) {

if (member === arr[i]) {

flag = true;

break

}

}

if (!flag) {

newArr.push(arr[i])

}

}

console.log('1111111111111111', newArr)

//第二种,两层循环,相互比较,如果相同就删除

var arr2 = [1, 2, 3, 'a', 'b', 3, 2, 'c', 'a'];

var len2 = arr2.length;

while (len2-- > 0) {

for (let i = 0; i < len2; i++) {

if(arr2[i]==arr2[len2]){

arr2.splice(i,1)

break

}

}

}

console.log('2222222222222',arr2)

//3.借助indexOf()方法判断此元素在该数组中首次出现的位置下标与循环的下标是否相等

var arr = [1,23,1,1,1,3,23,5,6,7,9,9,8,5];

function rep(arr) {

for (var i = 0; i < arr.length; i++) {

if (arr.indexOf(arr[i]) != i) {

arr.splice(i,1);//删除数组元素后数组长度减1后面的元素前移

i--;//数组下标回退

}

}

return arr;

}

var a1 = rep(arr);

console.log(a1);

//4.借助indexOf()和一个空数组

var arr3=['f','c',1,2,3,4,4,4,'v','f'];

var newArr3=[];

for(i=0;i

if(newArr3.indexOf(arr3[i])<0){

newArr3.push(arr3[i])

}

}

console.log('33333333333333',newArr3)

//5.filter方法

var arr4 = [1, 2, 3, 1,2,5,6]

var arr4temp=arr4.filter(function(ele,index,self){

return self.indexOf(ele)===index;

})

console.log(arr4temp)

android 数组排重方法,js数组去重方法集合 - osc_779ncf3o的个人空间 - OSCHINA - 中文开源技术交流社区...相关推荐

  1. android 8.0 ps 命令,全网最全adb命令 - osc_8exjk9uk的个人空间 - OSCHINA - 中文开源技术交流社区...

    一.查看adb版本 adb version C:\Users\Administrator>adb version Android Debug Bridge version 1.0.41 Vers ...

  2. android 编程klinon,一些常见的知识(四) - 393858338的个人空间 - OSCHINA - 中文开源技术交流社区...

    24.CoreText基础-字体必修课 转自:http://www.dreamingwish.com/dream-2011/coretext-ji-chu-font-basis.html 介绍一些字体 ...

  3. java 数组减除值_java数组操作 - osc_hwpd2zko的个人空间 - OSCHINA - 中文开源技术交流社区...

    什么是数组: 程序 = 算法+数据结构 算法:解决问题的步骤,流程(顺序,分支,循环) 数据结构:将数据按照某种特定的结构来保存 数怎么存 设计良好的,合理的数据结构可以导致好的算法 数组:就是一种最 ...

  4. java数组输出是地址_java数组输出 - SuperPcf的个人空间 - OSCHINA - 中文开源技术交流社区...

    java数组输出 输出一个数组中的元素,我们通常用for循环来做,比如: [java] view plaincopy在CODE上查看代码片派生到我的代码片 package test; public c ...

  5. C语言使用二维数组存储姓名,C语言二维数组 - osc_it9fazjn的个人空间 - OSCHINA - 中文开源技术交流社区...

    上节讲解的数组可以看作是一行连续的数据,只有一个下标,称为一维数组.在实际问题中有很多数据是二维的或多维的,因此C语言允许构造多维数组.多维数组元素有多个下标,以确定它在数组中的位置.本节只介绍二维数 ...

  6. java方法调用机制_Java方法调用机制 - osc_bkdv2it5的个人空间 - OSCHINA - 中文开源技术交流社区...

    最近在编程时,修改方法传入对象的对象引用,并没有将修改反映到调用方法中.奇怪为什么结果没有变化,原因是遗忘了Java对象引用和内存分配机制.本文介绍3个点: ① 该问题举例说明 ② 简要阐述Java内 ...

  7. c语言数组去重的函数,C语言之函数 - osc_wpg0dgym的个人空间 - OSCHINA - 中文开源技术交流社区...

    函数 对于初学C语言的人来说可能会问函数是什么?在这里我有一个通俗的解释:函数就是一个盒子,在这个盒子里面可以封装你想实现的功能,之后通过主函数进行调用即可 为什么要使用函数? 对于一个层序来说,模块 ...

  8. c 语言返回数组,c语言返回数组 - LIU-X1001的个人空间 - OSCHINA - 中文开源技术交流社区...

    Java语言的函数可以轻易的返回一个数组,而C/C++却不能直接返回一个数组.这是由于在C/C++中,数组不是一种类型,因此不能被直接返回. 在C/C++中,一般有两种方法来返回一个数组. 第一种方法 ...

  9. php循环遍历数组保存数据库,php数组循环遍历 - 与狼共舞红队的个人空间 - OSCHINA - 中文开源技术交流社区...

    下面这三种是常用的 $_arr=array(); foreach($_arr as $key=>$value){ var_dump($key,$value); echo " " ...

最新文章

  1. python编程问题--第二次
  2. 最短路径 - dijkstra
  3. ceph存储原理_Ceph存储引擎BlueStore简析
  4. JQuery轻量级网页编辑器 选中即可编辑
  5. uva 156 Ananagrams
  6. SimpleDateFormat和DateFormat类不是线程安全的。
  7. C++实现circular queue循环队列(使用数组)(附完整源码)
  8. Orleans学习总结(一)--入门认识
  9. python封装c++接口_用C++封装MySQL的API的教程
  10. java 面试基础总结(二)---多线程
  11. 全国哀悼日网站页面变成灰色的filter方法
  12. Android--线程详解
  13. 批量检测支付宝是否开通
  14. 微信小程序【WXSS 文件编译错误】unexpected “?“at pos 1的解决办法。
  15. 计算机维护系统管理毕业设计,计算机系统维护-毕业论文.doc
  16. 应届生面试技巧心得及选择工作走向的分析[gitChat首秀]
  17. Linux valgrind java_linux下valgrind的使用概述
  18. linux vi把一个文件中的内容复制到另一个文件,vim - 将内容从一个文件复制并粘贴到vi中的另一个文件...
  19. 大数据可视化(六)文本数据可视化
  20. Spring框架-JdbcTemplate

热门文章

  1. 【node】node连接mongodb操作数据库
  2. symfony3 使用命令行工具生成Entity实体所踩的坑
  3. Menubutton按钮弹出菜单
  4. HDU 3420 Bus Fair [补]
  5. thinkphp [数据分页]
  6. 跳跃回溯____寻找最长平台
  7. CSS教程--CSS 属性选择器
  8. 【整理】C#2.0特性之局部类、空属类型和静态类
  9. CSS 控件适配器的菜单样式解释
  10. 通过宝塔webhook,实现git自动拉取服务器代码