• web前端面试题附答案040-请说说字符串的截取


            面试其实无非就那点东西,翻来覆去的,有的考你原理,有的考你基础知识熟不熟。而这道题就是考基础知识的。关于string的截取,招式有很多,也不好说哪种更优秀,但你却要知道几种。

            其实日常工作中知道那么一两种就可以了,但面试嘛,回答的越多越有效,得分就越高呗。

    1、substring

            这个内置函数的解释是

    substring() 方法用于提取字符串中介于两个指定下标之间的字符。

    substring() 方法返回的子串包括 开始 处的字符,但不包括 结束 处的字符。

    意思就是'string'.substring(from, to)  中,from是必须的,to是不必须的

             面试题永远不会老老实实的考最基础的用法,如果考你基础用法,你做出来就入职了,你可能也干不长,他们就不需要有挑战的人出现。所以,我这里列举了一些不常用的场景,例如传入一个负数,那么substring就默认是从0开始截取,比如传的是一个超出字符串length范围的数字,那么就返回'' 空引号

            那么可能面试官还会问你,如果函数中传入了一个不是数字的参数会怎么样?

            怎么样,如果下次让你面一个大厂的大佬,你也有的问了,如果substring传入一个字符串会怎么样?如果我的substring里传入计算表达式会怎么样?

    2、subStr

            这个内置函数的解释是:

     substr() 方法可在字符串中抽取从 开始 下标开始的指定数目的字符。

    ‘string’.substr(from, length) ,这里from是必填的,length是非必填的,length未填写,表示从from下标开始,一直截取到末尾

            所以是不是可以再次不断尝试, 我的length传入负数会怎么样,如果我不按规矩办,from值我传个字符串会怎么样,如果我的length传一个超出字符串长度的又会怎么样,只有不断的举一反三,才能算是对一个知识点的熟练掌握。至于精通嘛,瞎扯,哪有的精通的人儿呢

    3、slice

            其实这道题完全可以换个问法,比如你可以说一下字符串的substring  substr  slice的区别吗?而slice也是截取,但定义是这样的

    slice(start, end) 方法可提取字符串的某个部分

            还是按照之前的逻辑,如果单纯的'string'.slice(1, 3) 这恐怕完全没有出面试题的意义,新浪的工程师们就喜欢出这类问题,对于字符串,数组的这些方法,反反复复的问你参数这么传,这么传会怎么怎么样。

            是不是已经发现了slice的一个特点,说好的from必传,不传也能返回全部;他的from必须在左,to必须在右,否则截取不出来,to参数如果传入负值,就是从后面开始截取

    4、特别方法

            怎么叫特别方法呢,这些都是截取排在一起的,但是真实需求千差万别,很可能是一个字符串这里截取一点,那里截取一点,这就涉及到多种方法的组合。再比如我们用字符串的chrAt方法,也可以截取出单个字符,然后进行拼接,也是一种思路、

            面试最重要的是什么?其实回答问题本身都不是最重要的,最重要的是,做个选择题吧要不

  • 相关阅读:
    【Flask基础】九,Flask--蓝图模块划分介绍(使用蓝图+不使用蓝图)
    Oracle存储过程干货(五):存储过程中怎么存多个列的值
    线上应用部署了两台load为1四核服务器
    docker 网络
    服务器的维护是如何操作
    鲜花销售小程序|基于微信小程序的鲜花销售系统设计与实现(源码+数据库+文档)
    一文了解深度学习实战——分类篇
    二维码制作教程分享,大家一起来学习吧!
    2009-2018年31省份旅游收入(入境、国内、总收入;第三产值;GDP)
    入门力扣自学笔记149 C++ (题目编号1608)
  • 原文地址:https://blog.csdn.net/xingyu_qie/article/details/127454222