JS实现字符串反转

JavaScript019

JS实现字符串反转,第1张

首先了解JavaScript中字符串和数组的区别:

①字符串是不可变的,数组是可变的。字符串不可变是指字符串的成员函数不会改变其原始值,而是创建并返回一个新的字符串。而数组的成员函数都是在其原始值上进行操作。

②数组有一个字符串没有的可变更成员函数reserve()。

方法一:先将字符串转化为数组,待处理完后再将结果转化回字符串:

split()方法将一个字符串拆成字符并返回一个数组

reverse()方法使数组反转

join()方法将数组中的所有元素边接成一个字符串

var a="foo"

var b=a.split("")//转化为字符串数组

            .reverse()//进行反转

            .join("")//数组中的字符拼接回字符串

方法二:把字符串中的字符倒序存入数组,再将数组转化为字符串:

var newString = []

for(var i = a.length-1,j = 0i >= 0i --,j ++){

    newString[j] = a[i]

}

newString.join()

一.字符串转化为Unicode编码

//方法1:

var str = "\\u6211\\u662Funicode\\u7F16\\u7801"

str = eval("'" + str + "'")

str = unescape(str.replace(/\u/g, "%u"))方法2:// 包装为JSON

var dataJSON = '{"Unicode编码": "'+ "\u7F16" +'"}'

// 使用JSON工具转换

var objJSON = JSON.parse(dataJSON)

var unicode = objJSON["Unicode编码"]

console.log(unicode)// 中文全月空格//二.将汉字转化为 unicode编码

var str = "中文"

// 获取字符

var char0 = str.charAt(0)

console.log(char0)// "中"

// 数字编码值

var code = str.charCodeAt(0)

console.log(code)// 20013

// 编码互转

var str0 = String.fromCharCode(code)

console.log(str0)// "中"

// 转为16进制数组

var code16 = code.toString(16)

console.log(code16)// "4e2d"

// 变成字面量表示法

var ustr = "\\u"+code16

console.log("unicode编码",ustr )// "\u4e2d"