• 一些面试题的汇总。看到就记录下来。不用到就会忘系列~ [parseInt]


    1 parseInt 用法

    parseInt(string,radix)方法是将输入字符串转化为数值,两个输入参数中string为要转化的字符串,

    radix(基数)可省略,是浏览器以几进制来解读输入的string。可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。

    如果省略该参数或其值为 0,则数字将以 10 为基础来解析。

    如果它以 “0x” 或 “0X” 开头,将以 16 为基数。

    如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。

    parseInt("123"); //123

    parseInt("123ab123"); //输出123  因为出现字母所以该字母及之后的字符都不被解析

    若输入字符串首位是0或者0x之外的数字,则在radix缺省的情况下,默认解读为10进制。

    0X默认解读为16进制

    parseInt("0x10"); //字符串以0x开头则将之后的数字按16进制解读,16进制的10也就是十进制的16, 因此输出为16

    parseInt("0xa"); //10,要注意16进制包括0~9,a~f (也就是10~15),超出该范围的字符不被解读。

    parseInt("0xg"); //NAN

    这三个例子分别等价于 parseInt("0x10",16)  parseInt("0xa",16)  parseInt("0xg",16)

    以0开头的默认解读为八进制,但是不同浏览器解读方式不同,

    parseInt("011"); //chrome下输出为11也就是会忽略首位的0,将011当成10进制解读,别的浏览器未测试--

    parseInt("011",8); //此时会输出正确的9

    因为这个坑,所以建议需要以八进制解读时,带上第二参数radix并设置为8,以免出问题

    parseInt("09",8); //八进制取值范围为0~7,不包括9,因此9不能被解读,这时相当于parseInt("0",8);输出0

    parseInlt(36, 4) // 四进制取值是0-3,不包括6,所以不解读6所以是 3

    parseInlt(46, 4) // 四进制取值是0-3,不包括4,6,所以不解读6所以是 ,是NAN 

    parseInt("010"); //未定:返回 10 或 8

    ['1', '2', '3'].map(parseInt) ==》 parseInt(1,0)  parseInt(2,1)  parseInt(3,2) [1, NAN, NAN]

    2  写一个函数 传两个参数 m,n 返回一个数组长度为 m,值全部为n, 要求不能用循环写!

    思考: 不能用循环,如何去增加数据的长度并且复制呢。。
     1 function b(m,n,a=[]){
     2      let arr = a;
     3      arr[arr.length]=n;
     4      if(a.length<m){
     5         b(m,n,arr)
     6      }else {
     7        arr = a
     8      }
     9      return arr
    10 }

    可能就是要考你的递归吧。。(有更好的方法的欢迎评论~)

    3  数组去重。。 定义对象的方法去遍历应该是最好的,不懂的去百度一下,这里特意提一下一个方法就是 array.from(new Set()))  

        面试官可能会问你,如果数组存储的是对象呢,而且你只能用一次遍历的方法怎么解决呢。。我就遇到过这个问题,其实方法就是把对象转为string再去一次性遍历。

     有更好的方法的欢迎评论~

    4  未完待续~

    5    参考地址:https://juejin.im/post/5d23e750f265da1b855c7bbe

    6    fork推荐: https://github.com/mqyqingfeng/Blog

    7   又发现一个优秀的git https://github.com/Advanced-Frontend/Daily-Interview-Question

     

     

     

     

  • 相关阅读:
    PHP做Web开发的MVC框架(Smarty使用说明 )
    PHP + Smarty + MySQL
    PHP中smarty与MYSQL数据库的连接
    linux上安装phpstudy
    ThinkPHP使用smarty模板引擎的方法
    smarty 模板几个例子(变量调节器)
    Smarty的基本使用与总结
    gcd 控制线程执行顺序(供参考)
    手动实现 NSTabViewController 的 Rect Transition 及 Propagate Title-b
    Mac、Linux与Windows
  • 原文地址:https://www.cnblogs.com/lisiyang/p/11155629.html
Copyright © 2020-2023  润新知