1.直接先顺序遍历,再反向遍历
//遍历实现trim函数
function ready(str){
let start=0;
let end=0;
let len=str.length;
for(let i=0;i<len;i++){
if(str[i]!=' '){
start=i;
break;
}
}
for(let i=len-1;i>=0;i--){
if(str[i]!=' '){
end=i+1;
break;
}
}
return str.slice(start,end);
}
2.正则表达式实现
分析一下,其实就是以空格开头和以空格结尾的,任意字符子匹配,这个时候可以使用match进行匹配
match输出的结果依次为:
- 匹配到的字符
- 匹配到的子匹配
- 匹配到的位置 index
- 整个字符串 input
//使用非贪婪匹配,匹配以空格开头的,以空格结尾的尽可能少的字符
//限定词后面加上?,匹配最小的重复
function ready(str){
let res=str.match(/^\s*(.*?)\s*$/);
console.log(res);
}
网友评论