JavaScript里面的居民们3-去除空格和重复
如代码,分别实现 diyTrim 及 removeRepetition 函数,并跑通代码中的测试用例。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>JS里的居民们3</title> </head>
<body>
<script>
/*
实现一个字符串头尾去除空格的函数
注意需要去除的空格,包括全角、半角空格
暂时不需要学习和使用正则表达式的方式
*/
function diyTrim(str) {
//遍历一下每个字符前后是否为空格,是的话进行切割字符串,直到没有空格,结束循环。
for(i=0;i<str.length;i++){
if(str[0]==" "||str[0]==" "){
str=str.slice(1);
}
else if(str[str.length-1]==" "||str[str.length-1]==" "){
str=str.slice(0,str.length-2);
}
else{
break;
}
}
return str;
} // 测试用例
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 = ""; for(i=0,len=str.length;i<len;i++){//定义len,每次循环都会改变长度
if(str[0]==str[1]){//判断前后是否一致
str=str.slice(1);//记得赋值给str,不然就是原来的数组。
}
else{
result=result+str[0];//存入不重复的值,并且要往后继续移一个
str=str.slice(1);
}
}
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
</script>
</body>
</html>
JavaScript里面的居民们3-去除空格和重复的更多相关文章
- JavaScript去除空格的三种方法(正则/传参函数/trim)
方法一: 个人认为最好的方法.采用的是正则表达式,这是最核心的原理. 其次.这个方法使用了JavaScript 的prototype 属性 其实你不使用这个属性一样可以用函数实现.但这样做后用起来比较 ...
- JavaScript字符串去除空格
/*字符串去除空格*/ String.prototype.Trim = function() { return this.replace(/(^\s*)|(\s*$)/g, "") ...
- js去除空格12种方法
注:本文非本人原著:原文作者: 黄卉 <js去除空格12种方法> //JS去除空格的方法目前共有12种: //实现1 String.prototype.trim = function() ...
- js中对字符串(String)去除空格
str为要去除空格的字符串: 去除所有空格: str = str.replace(/\s+/g,""); 去除两头空格: str = str.replace(/^\s+|\s+$/ ...
- JS去除空格方法记录
JS中去掉空格 //去除空格 String.prototype.Trim = function() { return this.replace(/\s+/g, ""); ...
- kettle输入“去除空格类型”设置不上
kettle输入“去除空格类型”设置不上,设置完了还是现实“none”的办法: 在xml中直接将对应处“none”改为“both”,即“去掉两边空格”. 原文来自:http://blog.csdn.n ...
- 关于input/textarea提交内容空格回车转换问题,以及ng-model去除空格问题
input/textarea提交内容空格回车转换问题 /*my-enter-bind.js*/ /*回车换行显示转义*/ 'use strict'; angular.module('app') .di ...
- python去除空格和换行符的方法
一.去除空格 strip() " xyz ".strip() # returns "xyz" " xyz ".lstrip() # retu ...
- oracle中如何对字符串进行去除空格的方法
oracle中如何对字符串进行去除空格的方法 今天学习了一下oracle中如何对字符串进行去除空格的方法,这里总结一下.了解到的方法主要有两种:Trim函数以及Replace函数.下面我详细的介绍一下 ...
随机推荐
- Flink学习笔记:Operators之CoGroup及Join操作
本文为<Flink大数据项目实战>学习笔记,想通过视频系统学习Flink这个最火爆的大数据计算框架的同学,推荐学习课程: Flink大数据项目实战:http://t.cn/EJtKhaz ...
- Angular material mat-icon 资源参考_Warning
ul,li>ol { margin-bottom: 0 } dt { font-weight: 700 } dd { margin: 0 1.5em 1.5em } img { height: ...
- bundle 与 package
bundle是Apple提供的软件安装的便捷方法. bundle为用户和开发者提供了一个简单地接口. bundle 和 package package:看起来像一个文件的目录 bundle ...
- jsp基础知识总结
1.了解jsp,jsp有什么有利的,有什么弊端. jsp是serlet的扩展,在web应用中,每个jsp页面都会有servlet容器生产对应的servlet. jsp通过在标准的html页面中插入ja ...
- @Transcational特性
捕获RuntimeException 捕获Error 并不捕获Checked Exception 在方法中使用@Transcational注解时候,通过throw new Exception(),在发 ...
- signed char型内存位bit表示
signed char型内存 80 81 82 83 84 85 86 87 88 89 8a 8b 8c 8d 8e 8f 90 91 92 93 94 95 96 97 98 99 9a 9b 9 ...
- checkbox 框 选中判断
function checkAll(checktop){ $(":checkbox[name='id']").prop("checked",checktop.c ...
- (转)shell变量及扩展
1.shell变量 shell变量赋值语句为”name=[value]“,等号两边不能有空格,可以给shell变量追加内容”name+=value“,取消shell变量的设置使用”unset name ...
- oracle 表空间tablespace
一.Oracle 表空间的组成 Everoone knows Oracle数据库真正存放数据的是数据文件,Oracle表空间是逻辑上的概念,他在物理上是并不存在的,把多个DataFile合并到一起就是 ...
- Python调用C++DLL函数出错String类型问题
调用c++ 函数原型如下,一直失败,请个日志断点发现 参数未能正确解析. int EXPORT init_ner(string cfg_path); typedef int (*Proc_init_n ...