1. 给一段文章中的全部指定词语进行过滤,自己编辑一个敏感词数组,将指定文章中的所有敏感词都替换为等量的 *
<script>
var dirtywords = ['萨比', '你妹', '握草'];
var passages = "萨比,快点过来,你妹在等你,握草,你这个萨比!";
for (const word of dirtywords) {
passages = passages.replaceAll(word, function (str) {
newstr = ""
for (let i = 0; i < str.length; i++) {
newstr += '*'
}
return newstr
})
}
console.log(passages); //**,快点过来,**在等你,**,你这个**!
</script>
2. 反转字符串 例如:var str = 'abcdefg', 要求结果: gfedcba
<script>
function reverseStr(str = "") {
// 将字符串肢解为字符数组
// var chars = str.split("")
// console.log(chars);
// // 字符数组翻转
// chars.reverse()
// console.log(chars);
// // 连接回字符串
// str = chars.join("")
// console.log(str);
return str.split("").reverse().join("")
}
console.log(reverseStr("abcdefg")); //gfedcba
</script>
3. 统计字符串中每个字符的个数?例如:var str = 'abcdacbabcbababcbabcabd',结果:{ a: 出现次数, b: 出现次数, ...}
<script>
function countChars(str = "") {
// 准备统计字符频次
var obj = {}
// 遍历每个字符
for (var i = 0; i < str.length; i++) {
// console.log(str[i],str.charAt(i));
var char = str[i]
// 如果该字符在obj中没有记录=>char为首次出现
if (obj[char] === undefined) {
// obj.a = 1
obj[char] = 1
}
// char之前出现过
else {
// obj.a = obj.a + 1
obj[char] += 1
}
}
return obj
}
console.log( countChars('abcdacbabcbababcbabcabd')); //{a: 7, b: 9, c: 5, d: 2}
</script>
4. 编写函数,判断一个字符串是否是 “可回文字符串”,可回文字符串: 正着和反着一样,例如: `abcba` / `你好世界世好你`,返回值是布尔值
<script>
function isReverableStr(str=""){
// split 字符串肢解为字符数组
// reverse 字符数组翻转
// join 翻转后的数组重新连接为字符串(此时字符串已翻转)
// == 判断翻转后的字符串是否等于原字符串
// 如果相等则是 否则不是 直接将相【是否相等】作为【是否可回文】返回
return str.split("").reverse().join("")==str
}
console.log(isReverableStr("你好世界世好你")); //true
console.log(isReverableStr("你好世界世好你啊")); //false
</script>