先上题目
这里很容易出错的地方是replace()函数的使用,直接用空格会出现只替换第一个空格的情况
具体解决代码如下,我认为需要注意的地方我全都写在注释里了,可以把注释部分的代码也运行看看,会有收获的~
function replaceSpace(s) {
// 局部变量用let,一定要记住(const/let/var的区别)
// 详情见https://www.cnblogs.com/zhaoxiaoying/p/9031890.html
// 注意空格
let result = ""
// 直接使用空格只能置换一次
// result = s.replace(" ", "20%")
// 使用带g的符号也可进行全局替换
// 字符串 stringObject 的 replace() 方法执行的是查找并替换的操作。
// 它将在 stringObject 中查找与 regexp 相匹配的子字符串,然后用 replacement 来替换这些子串。
// 如果 regexp 具有全局标志 g,那么 replace() 方法将替换所有匹配的子串。
// 否则,它只替换第一个匹配子串。
// 具体详情见https://www.w3school.com.cn/js/jsref_replace.asp
result = s.replace(/ /g, "20%")
// 使用正则表达式可以全部置换
// 使用字符串
// result = s.replace(/\s/g, "20%")
// for(var i = 0;i<s.length;i++){
// let c = s.charAt(i)
// if(c ==' '){
// // 注意不是join,join() 方法用于把数组中的所有元素放入一个字符串。注意是数组,不是单个元素
// // js代码可以隐式转换,一定要利用好这一特性
// result += "20%"
// }
// else{
// result += c
// }
// }
return result
}
var result = replaceSpace("We are happy jssxn xsnxsn.")
console.log(result)
这里直接建了一个js文件,想要直接运行js代码需要搭建node.js,搭建教程我自己写了一份,可以看看这篇博客,保姆级搭建node.js教程
然后直接在huilder x的终端敲入
node [js文件名].js