整理九道关于javascript字符串的笔试题
整理九道关于javascript字符串的笔试题
1.写一个方法去掉字符串的空格
let str = ' abc  aa  s    '
//第一种
function trim(str){
let reg = /\s /g
if(typeof str == 'string'){
place(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 = place(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){
place(/(.)\1*/g,'$1')
}
console.log(delRepeatChar('aaabhhhhjjjjuiuuu'))
如果有更好的写法的话,请大家能够评论指教一下,谢谢
来源:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。