编码
/*
实现一个字符串头尾去除空格的函数
注意需要去除的空格,包括全角、半角空格
暂时不需要学习和使用正则表达式的方式
*/
function diyTrim(str) {
var result = "";
// do something
return result
}
// 测试用例
console.log(diyTrim(' a f b ')); // ->a f b
console.log(diyTrim(' ffdaf ')); // ->ffdaf
console.log(diyTrim('1 ')); // ->1
console.log(diyTrim(' f')); // ->f
console.log(diyTrim(' a f b ')); // ->a f b
console.log(diyTrim(' ')); // ->
console.log(diyTrim(' ')); // ->
console.log(diyTrim('')); // ->
/*
去掉字符串str中,连续重复的地方
*/
function removeRepetition(str) {
var result = "";
// do something
return result;
}
// 测试用例
console.log(removeRepetition("aaa")); // ->a
console.log(removeRepetition("abbba")); // ->aba
console.log(removeRepetition("aabbaabb")); // ->abab
console.log(removeRepetition("")); // ->
console.log(removeRepetition("abc")); // ->abc
如以上代码,分别实现 diyTrim 及 removeRepetition 函数,并跑通代码中的测试用例。
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<script>
function diyTrim(str) {
var result=str;
for(var index=0;index<str.length;index++){
if(' '==str.charAt(index)||' '==str.charAt(index)){
result=str.substring(index+1);//从此参数开始到最后
continue;
}
break;
}
str=result;
for(var index=str.length-1;index>=0;index--){
if(' '==str.charAt(index)||' '==str.charAt(index)){
result=str.substring(0,index);//从第一个参数开始到后一个参数前面一位
continue;
}
break;
}
return result;
}
console.log(diyTrim(' a f b ')); // ->a f b
console.log(diyTrim(' ffdaf ')); // ->ffdaf
console.log(diyTrim('1 ')); // ->1 -->
console.log(diyTrim(' f')); // ->f
console.log(diyTrim(' a f b ')); // ->a f b
console.log(diyTrim(' ')); // ->
console.log(diyTrim(' ')); // ->
console.log(diyTrim('')); // ->
/*
去掉字符串str中,连续重复的地方
*/
function removeRepetition(str) {
var array=new Array();
for(var i=0;i<str.length;i++){
if(array.length<1){
array.push(str.charAt(i));
continue;
}
if(array[array.length-1]==str.charAt(i)){
continue;
}
array.push(str.charAt(i));
}
return array.toString();
}
// 测试用例
console.log(removeRepetition("aaa")); // ->a
console.log(removeRepetition("abbba")); // ->aba
console.log(removeRepetition("aabbaabb")); // ->abab
console.log(removeRepetition("")); // ->
console.log(removeRepetition("abc")); // ->abc
</script>
</body>
</html>
本次任务主要考察了,continue,以及break的用法,我自己没有做出来,研究了一下别人了,自己用码了一下,学习到了continue的用法,跳出了一次循环迭代,而break是结束整个循环,牢记以及array.push()方法,str.charAt(i)返回位置为1的字符串,主要还是continue,break和循环的巧妙运用来解决