javascript - 字符串面试题答案
黄舟
黄舟 2017-04-11 13:08:33
[JavaScript讨论组]
String .prototype.space = function(){
    return this.replace(/(^\s*)|(\s*$)/g, "");
}
String .prototype.trim = function(){
    return this.replace(/^\s+$/g, "");
}
var sss = "f aaee";
console.log(sss.trim());
为什么没有反应啊,求大神解答,感觉没错啊
黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(3)
迷茫

space()字符串两边要有空白字符~

sss = "  f aaee  ";
"  f aaee  "
console.log(sss.space());
f aaee

trim()函数

xxx = "     "
"     "
console.log('"'+xxx.trim()+'"');
""
天蓬老师

你想要什么样的效果你的问题没有说清楚啊。
看你的正则,你的第一个space() 方法就是把字符串头和尾的空格去掉。
第二个trim() 方法,你的写法就只能匹配全空格字符串,所以没有反应。
你如果是想匹配字符串中的空格:

String .prototype.trim = function(){
    return this.replace(/\s*/g, "");
}

或者你想要什么效果在题中描述一下。

迷茫

原本字符串中的trim()是去除字符串起始处的空格的。

var nnnn = ' nuhb ';
console.log(nnnn.length);//6
console.log(nnnn.trim());//'nuhb'
console.log((nnnn.trim()).length);//4

你这里改变原方法,我想你的space()是想将起始的空格去掉。没有问题,后面的trim()是将字符串中的空格去掉

    String .prototype.space = function(){
        return this.replace(/(^\s*)|(\s*$)/g, "");
    }
    String .prototype.trim = function(){
        return this.replace(/\s+/g, "");
    }
    var sss = " f aaee ";
    console.log(sss);' f aaee '
    console.log((sss).length);//8
    console.log(sss.space());'f aaee'
    console.log((sss.space()).length);//6
    console.log((sss.space()).trim());//'faaee'
    console.log(((sss.space()).trim()).length);//5
 ![图片描述][1]

其实两个方法名改一下好吧。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号