//第一种方法,新建一个空数组,将原来的数组循环逐个与新数组的成员做比较,如果新数组没有该元素就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<arr3.length;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)

  

最新文章

  1. java实现ftp文件的上传与下载
  2. XMPP 和 OpenFire
  3. 安全关闭多Activity的Application
  4. iOS UITableview
  5. Android ActionBarDrawerToggle、DrawerLayout、ActionBar 结合
  6. BZOJ 2818
  7. 指针二次释放(_BLOCK_TYPE_IS_VALID)
  8. Catch That Cow 分类: POJ 2015-06-29 19:06 10人阅读 评论(0) 收藏
  9. c# 生成json数据包
  10. 20 Free Open Source Web Media Player Apps
  11. iOS8中的UIAlertController
  12. Python设计模式——设计原则
  13. UVA 11090 - Going in Cycle!!(Bellman-Ford)
  14. 原型那些事 - JavaScript深入浅出(三)
  15. LINQ学习系列-----2.2 迭代器
  16. LeetCode(79): 单词搜索
  17. xsyProblem A: 密集子图(graph)
  18. Memcache 优化建议
  19. thinkphp C函数的实现原理
  20. html5兼容处理&amp;sublime text3配置html5环境

热门文章

  1. 运维告警排班太复杂?试试Cloud Alert智能告警排班
  2. Design Principle vs Design Pattern 设计原则 vs 设计模式
  3. 10大排序算法——Java实现
  4. Spring Cloud Security OAuth2.0 认证授权系列(一) 基础概念
  5. HTTP请求响应信息字段总结(长期更新)
  6. Camtasia绿幕素材的视频合成
  7. Spring简介以及配置信息
  8. Pypi项目包发布
  9. Java基础教程——转换流
  10. 区块链V1版本实现之三