zoukankan      html  css  js  c++  java
  • 用一行代码搞定数组去重

     用最简短的代码搞定数组去重,欢迎指正不足之处

     第一种

           /* let numbers = [3, 8, 10, 18, 20];
            let num_test = [4, 5, 10, 18, 20];*/
            const arr_num = [3, 8, 10, 18, 20].concat([4, 5, 10, 18, 20]);
            let res =[];    
            $.each(arr_num,(item, index)=> {
                   res.length==0 ||($.inArray(index,res)===-1) ? res.push(index) : null ;
             });
    
            console.log(res);
            // [3, 8, 10, 18, 20, 4, 5] 

    前面为运用到一些es6的写法比较简短,简单的jquery写法为:

            var numbers = [3, 8, 10, 18, 20];
            var num_test = [4, 5, 10, 18, 20];
            var arr_num = numbers.concat(num_test);
            var res =[];    
           $.each(arr_num,function (item, index) {
                 if(res.length==0 ||($.inArray(index,res)===-1) ){
                     res.push(index);
                     }else{
                       return ;}
             });
            console.log(res);
            // [3, 8, 10, 18, 20, 4, 5] 

    第二种:一行代码

    const unique = (arr) => [...new Set(arr)];

     关于三元运算符中不能用return的问题,条件 ? 例子1: 例子2;

    网上查找无果,在实践过之后得知(ps:三元运算符也有人叫三目运算符)

     三元运算符/三目运算符 例子1和例子2不能是语句必须要有值,而return不是合法的有值表达式。

    一开始我写的判断是:

     res.length==0 ||($.inArray(index,res)===-1) ? res.push(index) : return;
    //报错
    //SyntaxError: expected expression, got keyword 'return'

    关于return:

    retrun true; 返回正确的处理结果。
    return false;返回错误的处理结果,终止处理。
    return;把控制权返回给页面返回null,继续执行

     所以,在使用三元运算符实在需要使用return的话,可以直接写return的结果即可,避免使用return容易跳错

  • 相关阅读:
    linux的常用命令
    linux系统环境与文件权限
    MySQL常用数据类型
    【bzoj4641】基因改造 特殊匹配条件的KMP
    【bzoj4550】小奇的博弈 博弈论+dp
    【bzoj3991】[SDOI2015]寻宝游戏 树链的并+STL-set
    【bzoj1304】[CQOI2009]叶子的染色 树形dp
    【bzoj4715】囚人的旋律 dp
    【bzoj4008】[HNOI2015]亚瑟王 概率dp
    【bzoj4444】[Scoi2015]国旗计划 倍增
  • 原文地址:https://www.cnblogs.com/web1/p/8513946.html
Copyright © 2011-2022 走看看