JS小方法-字符串反转

"abcd"反转为"dcba",

1、利用正则和数组反转,无循环

function reverse(oldstr){

  var oldStrArr = oldstr.replace(/\w/g,‘$&,‘).split(‘,‘);

  return oldStrArr.reverse().toString().replace(/,/g,‘‘);

}

var aa = "abcd";

var bb = reverse(aa);

console.log(bb);//"dcba"

思路:"abcd" -> "a,b,c,d," -> ["a","b","c","d",""] ->["","d","c","b","a"] ->"d,c,b,a" -> "dcba"

  "abcd" -> "a,b,c,d," ---:replace(/\w/g,‘$&,‘) //正则

  "a,b,c,d," -> ["a","b","c","d",""]---:split(‘,‘) //字符串基本API

  ["a","b","c","d",""] ->["","d","c","b","a"]---:reverse() //数组基本API

  ["","d","c","b","a"] ->"d,c,b,a"---:toString() //数组基本API

  "d,c,b,a" -> "dcba"---:replace(/,/g,‘‘) //正则

2、循环遍历字符串

时间: 2024-08-03 05:30:35

JS小方法-字符串反转的相关文章

JS replace()方法-字符串首字母大写

replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串. replace()方法有两个参数,第一个参数是正则表达式,正则表达式如果带全局标志/g,则是代表替换所有匹配的字符串,否则是只替换第一个匹配串.第二个参数可以是字符串,也可以是函数.$1.$2...表示与正则表达式匹配的文本. There are many ways we can make a difference. Global change starts with you. Sign up f

JS扩展方法——字符串trim()

转自:http://www.cnblogs.com/kissdodog/p/3386480.html <head> <title>测试JS扩展方法</title> <script type="text/javascript"> // 合并多个空白为一个空白 String.prototype.ResetBlank = function() { //对字符串扩展 var regEx = /\s+/g; return this.replace(

个人常用js小方法

移动端用功能 安卓及ios定宽 //页面宽度固定640 (function() { var width = 640; if (/Android/.test(navigator.userAgent)) { var scale = window.screen.width / width; document.write('<meta name="viewport" content="width=' + width + ', minimum-scale=' + scale +

js小工具.字符串&amp;16进制数值字符串&amp;互转

1. 2.测试代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <script type="text/javascript" > <!-- window.onload = function() { // var strTest = "1234567"; // strTest = strTest.substr(2); /

经常使用的js小方法

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path

常用的js小方法

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path

js小方法积累,将一个数组按照n个一份,分成若干数组

1 // 把一个数组按照一定长度分割成若干数组 2 function group(array, subGroupLength) { 3 let index = 0; 4 let newArray = []; 5 while(index < array.length) { 6 newArray.push(array.slice(index, index += subGroupLength)); 7 } 8 return newArray; 9 } 10 11 let numberArray = [

使用js把json字符串转为js对象的方法

ECMA-262(E3) 中没有将JSON概念写到标准中,还好在 ECMA-262(E5)中JSON的概念被正式引入了,包括全局的JSON对象和Date的toJSON方法. 1,eval方式解析,恐怕这是最早的解析方式了.如下: 复制代码代码如下: function strToJson(str){ var json = eval('(' + str + ')'); return json; } 记得别忘了str两旁的小括号. 这里属性名可以使用数字,可以带引号也可以不带引号.如果属性名是纯数字,

趣味算法:字符串反转的N种方法(转)

老赵在反对北大青鸟的随笔中提到了数组反转.这的确是一道非常基础的算法题,然而也是一道很不平常的算法题(也许所有的算法深究下去都会很不平常).因为我写着写着,就写出来8种方法……现在我们以字符串的反转为例,来介绍这几种方法并对它们的性能进行比较. 使用Array.Reverse方法 对于字符串反转,我们可以使用.NET类库自带的Array.Reverse方法 public static string ReverseByArray(this string original) { char[] c =