/*******************************111111111***********************************/
/*1,最好数组去重方法,利用json的键的唯一性*/
function removeRepeator(oldArr){
var newArr=[];//放结果的空数组
var tempJson={};//中间临时json对象
for (var i = 0; i < oldArr.length; i++) {//循环老数组
if (!tempJson[oldArr[i]]) {//oldArr[i],老数组的值,做json的"键""~
newArr.push(oldArr[i]);//新数组push不重复的值
tempJson[oldArr[i]]='sth'; //给json增加键和随便的一个值。方便下次循环检测有没有"键""
}
}
return newArr;
}
var oldArr=[5,7,9,6,5,1,8,5,4,9]
var newArray=removeRepeator(oldArr);
console.log(newArray);//[5, 7, 9, 6, 1, 8, 4]

/**********************2222222**************************/
/*1,增加一个新数组,将老数组的项目一个一个添加进去,
2,每一次添加的时候,循环新数组,看看新数组有没有这个值,有的话就不添加,没有就添加*/
/*for 嵌套if 嵌套for*/
function removeRepeator2(oldArr){
var newArr=[];
for (var i = 0; i < oldArr.length; i++) {
if (!isHasThisVal(newArr,oldArr[i])) {
newArr.push(oldArr[i]);
}
}
return newArr;
}
function isHasThisVal(newArr,val){
for (var i = 0; i < newArr.length; i++) {
if (newArr[i]==val) {
return true;
}
}
return false;
}
var oldArr=[5,7,9,6,5,1,8,5,4,9]
var newArray=removeRepeator2(oldArr);
console.log(newArray);//[5, 7, 9, 6, 1, 8, 4]

javascript:算法之数组去重的更多相关文章

  1. 【跟着大佬学JavaScript】之数组去重(结果对比)

    前言 数组去重在面试和工作中都是比较容易见到的问题. 这篇文章主要是来测试多个方法,对下面这个数组的去重结果进行分析讨论.如果有不对的地方,还请大家指出. const arr = [ 1, 1, &q ...

  2. Javascript中的数组去重-indexof方法

    在Javascript中,有时我们会用到数组去重.我在这里给大家介绍一下本人认为最简单实用的一种方法-indexOf()去重. var arr = [1,1,1,2,2,2,3,3,4,5,6,2,1 ...

  3. JavaScript tips:数组去重

    1.实现目标:数组去重 2.实现思路: (1)创建新数组. (2)遍历原数组,判断当前被遍历元素是否存在于新数组,如果存在于新数组,则判断当前被遍历元素是重复的:如果不存在于新数组,则判断当前被遍历元 ...

  4. Javascript学习记录——数组去重

    var arr = [1, 2, 3, 5, 5, '45', '45', 4, 1, '1', '2'] for (var i = 0; i < 10000; i++) { arr.push( ...

  5. javascript中的数组去重

    1.方法一:双层循环,外层循环元素,内层循环做比较,若相同则跳过,不同则加入结果集中,获取没重复的最右侧的值放入数组中 Array.prototype.distinct = function(){ v ...

  6. JavaScript中对象数组去重方法

    在一次对后端返回的对象数组的操作时想通过indexOf()或者includes()的方法来实现对对象数组的去重但是行不通,因为用indexOf()返回的都是-1,一下记录两种对象数组(更具指定属性)去 ...

  7. javascript:算法之数组sort排序

    数组sort排序 sort比较次数,sort用法,sort常用 描述 方法sort()将在原数组上对数组元素进行排序,即排序时不创建新的数组副本.如果调用方法sort()时没有使用参数,将按字母顺序( ...

  8. JavaScript 小技巧 数组去重

    const array = [1, 2, 3, 3, 5, 5, 1]; const uniqueArray = [...new Set(array)]; console.log(uniqueArra ...

  9. js06--利用js给数组去重

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...

随机推荐

  1. 制作一个访问量很高的大型网站,你会如何来管理所有HTML、CSS、JS与图片?

    1.先确定全局样式和编码方式. 2.编写习惯,标注样式. 3.文件夹存放,命名.

  2. mark元素

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. 一个基于RBAC0的通用权限设计清单

    注:RBAC0与RBAC1不同在于权限继承.关于RBAC1的权限设计,敬请关注作者后续CSDN博客.1,用户表 保存系统用户信息,如张三.李四,字段可以有id.name.fullname.email. ...

  4. Codeforces Round #366 Div.2[11110]

    这次出的题貌似有点难啊,Div.1的Standing是这样的,可以看到这位全站排名前10的W4大神也只过了AB两道题. A:http://codeforces.com/contest/705/prob ...

  5. 【转】crontab定时任务中文乱码问题

    转载:http://blog.163.com/rettar@126/blog/static/1216503422012135511740/ 手动执行都很正常的的脚步,添加到定时任务中一直执行失败,日志 ...

  6. overflow-y:auto

    overflow-x:auto; overflow-y:auto; X轴和Y轴自适应:

  7. 【POJ】2096 Collecting Bugs

    http://poj.org/problem?id=2096 题意:s个系统n种bug,每天找出一个bug,种类的概率是1/n,系统的概率是1/s.问:每个系统至少找出一个bug:每种类的bug都被找 ...

  8. AIX日常维护

    1  /etc/security/limits与limit命令 AIX 5.3上 下面是文件/etc/security/limits文件里面有关软限制和硬限制的部分. * * Sizes are in ...

  9. 优化UITableViewCell高度计算的那些事

    优化UITableViewCell高度计算的那些事 我是前言 这篇文章是我和我们团队最近对 UITableViewCell 利用 AutoLayout 自动高度计算和 UITableView 滑动优化 ...

  10. 深入浅出-Android系统移植与平台开发(一)- Android4.0系统的下载与编译

    作者:唐老师,华清远见嵌入式学院讲师. 一.Android4.0系统的下载与编译 Android系统的下载与编译,Google的官方网站上已经给出了详细的说明,请参照Android的官方网址: htt ...