整理九道关于javascript字符串的笔试题

1.写一个方法去掉字符串的空格

let str = ' abc   aa   s     '//第一种function trim(str){  let reg = /\s /g  if(typeof str == 'string'){    return str.replace(reg,'')  }}trim(str)//第二种str.split(' ').join('')

2.去除字符串中最后一个指定的字符或者是字符串

let str = 'abaaaaeaad'function delChar(str,char){  let index = str.lastIndexOf(char) //lastIndexOf 获取一个指定的字符出现在一个字符串中出现的最后的位置 从后向前搜索  let len = [...char].length  return str.substring(0,index) str.substring(index len,str.length) //substring 截取字符串}console.log(delChar(str,'aa'))

3.写一个方法把下划线命名转换成大驼峰命名

function changeName(name){  let arr = name.split('_')  let lastStr = arr[arr.length-1]  arr[arr.length-1]= lastStr[0].toUpperCase() lastStr.substring(1,lastStr.length)  return arr.join('')}console.log(changeName('first_name'))

4.写一个把字符串大小写切换的方法

let str = 'aSdFgH'function toCaseStr(str){  let strArr = []  str.split('').forEach(i=>{    if(i.charCodeAt()>=65&&i.charCodeAt()<=90){ //str.charCodeAt(index) 获取一个字符的unicode编码 65-90 是大写 97-122是小写      i = i.toLowerCase()    }else(      i = i.toUpperCase()    )    strArr.push(i)  })  return strArr.join('')}console.log(toCaseStr(str))

5.统计某一个字符或字符串在另一个字符串中出现的次数

//第一种function setCount(str,charStr){  let count = 0  if(!charStr) return count  while(str.match(charStr)){    str = str.replace(charStr,'')    count    }  return count}//第二种function setCount(str,charStr){  let len = str.match(new RegExp(charStr,'g')).length  return len}console.log(setCount('ababababeeeeeee','ab'))

6.写一个获取当前url查询字符串中的参数的方法

function getParams(){  let search = window.location.search //获取?后面的部分?name=xxx&id=xx  search = search.substring(1,search.length) //将?截取掉  let res = {}  search.split('&').forEach(item=>{    let [key,value] = item.split('=')    res[key] = decodeURIComponent(value);  })  return res}getParams()

7.写一个方法判断字符串是否为回文字符串

function isPalindrome(s){  if(s.length == 1) return true  let str = s.replace(/[^a-zA-Z0-9]/g,'').toLowerCase() //因为可能有大写 统一转换为小写  let reverseStr = str.split('').reverse().join('')  return str == reverseStr}console.log(isPalindrome('A man, a plan, a canal: Panama'))

8.随机生成一个指定长度的验证码 包含大写字母 小写字母 数字 特殊字符

function getRandomCode(len) {  const allStr = 'azxcvbnmsdfghjklqwertyuiopZXCVBNMASDFGHJKLQWERTYUIOP0123456789.*&^%$#@!~';  let code = '';  for (let index = 0; index < len; index  ) {      code  = allStr.charAt(Math.floor(Math.random() * 73));  }  return code;}console.log(getRandomCode(5))

9.写一个方法删除字符串中所有相邻重复的项

function delRepeatChar(str){  return str.replace(/(.)\1*/g,'$1')}console.log(delRepeatChar('aaabhhhhjjjjuiuuu'))

如果有更好的写法的话,请大家能够评论指教一下,谢谢

来源:https://www.icode9.com/content-1-907501.html

(0)

相关推荐

  • js去除字符串的最后一位

    使用slice方法 /** * slice(start,end) * start 要截取的字符串的起始下标 如果为负数从后面开始算起 -1指的是字符串的最后一位 * end 要截取的字符串的结尾下标 ...

  • 排序算法的Javascript实现

    排序算法的Javascript实现

  • 50道正则表达式笔试题参考答案(第11-20题)

    各位客官姥爷好,欢迎回来.我们在上节给出了前10道正则表达式练习题目和参考答案,相信各位姥爷都有对照着练习.在本节清风将给出第11-20题的参考答案. PS:在各位客官姥爷跟着清风一起完成本系列的练习 ...

  • 50道正则表达式笔试题参考答案(第21-30题)

    各位客官姥爷好,欢迎回来.我们在上节给出了第11-20道正则表达式题目和参考答案,本节将继续正则表达式系列题目,请看下方第21-30题的参考答案. PS:在各位客官姥爷跟着清风一起完成本系列的练习后, ...

  • 九道酒楼绝品口味菜

    九味酥鱼 原料: 草鱼1条(约1000克) .小米椒粒5克.白芹节3克.盐2克.十三香3克.胡椒粉1克.姜片5克.葱节5克.鸡精2克.味精2克.熟芝麻20克.花椒油50毫升.芝麻油50毫升.红油100 ...

  • 又到了吃凉菜的季节,青山学这九道凉拌家常菜,吃了十年都不烦,学起来吧

    [姜汁松花蛋] 用料:松花蛋 6个,蒜 20克,香葱 15克,蒜 15克,盐 5克,味精 5克,生抽 15克,米醋 15克,香油 5克 做法: 松花蛋剥去外皮,洗净从中间切开. 每半个单切成3块,码入 ...

  • 焊接式车门不安全?胡说九道!

    在很多拆车类别的网站里,我们不止一次地见过关于车辆安全与否是按照拆解然后肉眼观看.卡尺测量的方法给出成绩或者答案的搞(脑)笑(残)文章或者视频了.关于保险杠的话题最多,然后就是关于车门的话题. 在那些 ...

  • 50道正则表达式笔试题参考答案(第1-10题)

    各位客官姥爷好,欢迎回来.我们上节留下的50道正则表达式笔试练习题,有不少客官姥爷在后台回复他自己的答案.[嘿嘿,相信肯定也有偷懒没做的(收藏夹里吃灰).没关系,清风在这里陪您一起做] 一次性做50道 ...

  • 气口九道脉

    手检图曰:肺为五脏华盖,上以应天,解理万物,主行精气,法五行,应四时,知五味.气口之中,阴阳交会,中有五部,前后左右,各有所主,上下中央,分为九道,诊之则知病邪所在也. 李濒湖曰:气口一脉,分为九道, ...

  • 九道地方风味菜,味道巴适

    黄焖禾花鱼 原料: 禾花鱼500克.尖青椒35克,紫苏15克,大蒜子10克,生姜15克. 调料: 食盐5克,鲁胡子辣椒酱10克,菜籽油60克,鸡粉3克,米醋12克,剁椒8克. 制作: 1. 将新鲜的荷 ...

  • 50道正则表达式笔试题参考答案(第31-40题)

    各位客官姥爷好,欢迎回来.我们在上节给出了第21-30道正则表达式题目和参考答案,本节将继续正则表达式系列题目,请看下方第31-40题的参考答案. PS:在各位客官姥爷跟着清风一起完成本系列的练习后, ...