zoukankan      html  css  js  c++  java
  • js 数组去重

    数组去重的思路,突然感觉挺有趣的,来整理一下

    两个for 循环比较的,如下
    function removeRepeat(arr){ for( var i = 0; i < arr.length; i++){ for ( var j = i + 1; j < arr.length; i++){ if ( arr[i] == arr[j] ){ arr.splice(j ,1); } } } return arr; }

    作为一个菜鸟..我对这段代码是没什么问题的,实际上.. 我的电脑打不开这个网页...等了一会儿页面就提示崩溃了....
    看到别人的解释是说
    for 循环中使用 splice 会影响效率,而且循环时 因为 splice 后修改了长度 所以 循环时arr长度发生改变,这是一件危险的事情
    总的意思就是说,上面的做法并不合适
    当然,改改还是可以用两层 for 循环做的,不过没必要循环两次做这个


    fucntion unique(array){ var arr = []; for ( var i = 0; i < array.length; i++ ){ if ( arr.indexOf(array[i]) == -1 ){ arr.push(array[i]); } } return arr; }
    用indexOf 检查有没有重复项,然后push 给新数组 arr;


    `

  • 相关阅读:
    SQLite的sqlite_sequence表
    缓存区溢出漏洞工具Doona
    SQLite的sqlite_master表
    dfs1321
    三维bfs(HUD1253胜利大逃亡)
    dfs模版
    poj3259: Wormholes(BF模板题)
    Bellman-Ford算法
    POJ1611:The Suspects(模板题)
    poj3126
  • 原文地址:https://www.cnblogs.com/lcysgsg/p/6534393.html
Copyright © 2011-2022 走看看