美文网首页
一些有意思的题目

一些有意思的题目

作者: bc63f6792451 | 来源:发表于2017-04-11 23:25 被阅读0次

    最近闲来没事,看到一些有意思的题目,决定整理分享一下~

    1.用最酷炫的方法实现8位数,不足位数前面补0

    惭愧的是,我看到这个题目第一反应用if else,并且在接下来几分钟都没有想到令自己觉得酷炫的方法来实现。直到~~听到一位大神的一句提示,想到了下面的方法

    function addZero(num) {
        return ((num+100000000)+'').substring(1);
    }
    alert(addZero(1))
    

    2.以下代码会不会报错,如果报错在哪里报错,如何修改?

    var a = 1;
    a.b = function(){alert(1)}
    a.b()
    

    第一反应当然是会报错,因为a的数据类型是Number,而a.b的写法是json才能这么写的,由于不能改变a的数据格式,所以只能往原型链的方向想,只需要把第二行改成Number.prototype.b=function(){alert(1)},相当于给Number上定义了一个b方法,所有的数字就都可以调用b方法了

    3.好几个数字,如5,6,7,如何给每次之间加逗号拼接起来
    一行就搞定

    var sub=[].join.call('567',',');
    

    4.数组去重
    数组去重的方法有很多种,有的简单有的复杂,可以创建一个新数组,遍历原来的数组一个一个数据的取出来,也可以将原数组变成json的key值,利用json的key值唯一去重,再取回来组成新数组,现在介绍一种利用es6中的set数据类型去重的方法

    function dedupe(array) {
      return Array.from(new Set(array));
    }
    
    dedupe([1, 1, 2, 3]) // [1, 2, 3]
    

    4.随意给定一个数字,常见一个数组来做map
    方法一:

    new Array(3).fill(1).map((v,index)=>index)
    

    方法二:

    Array.from({length:3}).map(v=>3)
    

    方法三:

    Array.from(new Array(4)).map(v=>3)
    

    未完待续

    相关文章

      网友评论

          本文标题:一些有意思的题目

          本文链接:https://www.haomeiwen.com/subject/zfrpattx.html