如代码,分别实现 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-去除空格和重复的更多相关文章

  1. JavaScript去除空格的三种方法(正则/传参函数/trim)

    方法一: 个人认为最好的方法.采用的是正则表达式,这是最核心的原理. 其次.这个方法使用了JavaScript 的prototype 属性 其实你不使用这个属性一样可以用函数实现.但这样做后用起来比较 ...

  2. JavaScript字符串去除空格

    /*字符串去除空格*/ String.prototype.Trim = function() { return this.replace(/(^\s*)|(\s*$)/g, "") ...

  3. js去除空格12种方法

    注:本文非本人原著:原文作者: 黄卉  <js去除空格12种方法> //JS去除空格的方法目前共有12种: //实现1 String.prototype.trim = function() ...

  4. js中对字符串(String)去除空格

    str为要去除空格的字符串: 去除所有空格: str = str.replace(/\s+/g,""); 去除两头空格: str = str.replace(/^\s+|\s+$/ ...

  5. JS去除空格方法记录

    JS中去掉空格 //去除空格  String.prototype.Trim = function() {      return this.replace(/\s+/g, ""); ...

  6. kettle输入“去除空格类型”设置不上

    kettle输入“去除空格类型”设置不上,设置完了还是现实“none”的办法: 在xml中直接将对应处“none”改为“both”,即“去掉两边空格”. 原文来自:http://blog.csdn.n ...

  7. 关于input/textarea提交内容空格回车转换问题,以及ng-model去除空格问题

    input/textarea提交内容空格回车转换问题 /*my-enter-bind.js*/ /*回车换行显示转义*/ 'use strict'; angular.module('app') .di ...

  8. python去除空格和换行符的方法

    一.去除空格 strip() " xyz ".strip() # returns "xyz" " xyz ".lstrip() # retu ...

  9. oracle中如何对字符串进行去除空格的方法

    oracle中如何对字符串进行去除空格的方法 今天学习了一下oracle中如何对字符串进行去除空格的方法,这里总结一下.了解到的方法主要有两种:Trim函数以及Replace函数.下面我详细的介绍一下 ...

随机推荐

  1. [开源] angularjs + Asp.net 前后端分离解决方案

    本文版权归 博客园 萧秦 所有,此处为技术收藏,如有再转,请于篇头明显位置标明原创作者及出处,以示尊重! 作者:萧秦 原文:http://www.cnblogs.com/xqin/p/4862849. ...

  2. Hibernate框架基础

    Hibernate框架基础 Hibernate框架 ORM概念 O, Object 对象 R, Realtion 关系 (关系型数据库: MySQL, Oracle…) M,Mapping 映射 OR ...

  3. abp部署端口和域名映射配置

    前引 apb部署 后端服务9900端口,域名访问地址是:http://nihao-api.hellow.com: 前端4200端口,域名访问地址是:http://nihao.hellow.com: 前 ...

  4. 剑指offer——面试题17:打印从1到最大的n位数

    用字符串模拟加法: #include"iostream" #include"string.h" using namespace std; bool AddOne ...

  5. 删除centos 7 系统自带的 openjdk

    1.  查看是否系统自带openjdk. java -version 2. 查看jdk位置 rpm -qa | grep java 3. 删除jdk rpm -e --nodeps java--ope ...

  6. 理解ReentrantLock的公平锁和非公平锁

    学习AQS的时候,了解到AQS依赖于内部的FIFO同步队列来完成同步状态的管理,当前线程获取同步状态失败时,同步器会将当前线程以及等待状态等信息构造成一个Node对象并将其加入到同步队列,同时会阻塞当 ...

  7. erlang随笔3--OTP

    OTP最核心的概念就是行为.一个行为封装了某种常见的行为模式.可以把这些行为理解为某种应用程序框架.可以通过回调模块来 定制这些框架.OTP依靠行为引用了容错,扩容和动态代码升级等特性.所以在写回调模 ...

  8. pip安装Python依赖环境

    将包依赖信息保存在requirements.txt文件 pip freeze > requirements.txt 根据依赖文件安装依赖 pip install -r requirements. ...

  9. CentOS7 wget 安装Redis,开机启动配置

      安装 GCC yum install gcc yum install tcl 安装wget yum install wget 1. 下载Redis wget http://download.red ...

  10. Google推荐的图片加载库Glide

    英文原文 Introduction to Glide, Image Loader Library for Android, recommended by Google 首发地址  http://jco ...