将字符串STRING的每个字符之间加空格

来源:互联网 发布:审计 孟然 知乎 编辑:程序博客网 时间:2024/06/05 12:04

今天面试遇到了这样一道问题 我首先想到的是遍历字符串的方法

遍历字符串

var result = "";function a(str) {    for(var i=0;i<str.length;i++) {  result += str[i]+" ";    }      console.log(result);}    a('helloworld');

其实更好的写法应该是

function a(str) {        console.log(str.split("").join(" "));//首先用字符串的split方法将字符串变成数组 在用数组的join方法将数组变成字符串中间用空格隔开}    a('helloworld');

如果将这个函数直接作用在一个字符串对象上

'hello world'.spacify();

这就需要对function prototypes(方法原型)有一个基本的理解

String.prototype.spacify = function(){    return this.split('').join(' ');};console.log('hello world'.spacify());

字符串的原型上有spacify方法所以’hello world’这个字符串就有了spacify这个方法调用这个方法就可以实现加空格了

字符串的常用方法

charAt()    返回指定索引位置的字符charCodeAt()    返回指定索引位置字符的 Unicodeconcat()    连接两个或多个字符串,返回连接后的字符串fromCharCode()  将 Unicode 转换为字符串indexOf()   返回字符串中检索指定字符第一次出现的位置lastIndexOf()   返回字符串中检索指定字符最后一次出现的位置localeCompare() 用本地特定的顺序来比较两个字符串match() 找到一个或多个正则表达式的匹配replace()   替换与正则表达式匹配的子串search()    检索与正则表达式相匹配的值slice() 提取字符串的片断,并在新的字符串中返回被提取的部分split() 把字符串分割为子字符串数组substr()    从起始索引号提取字符串中指定数目的字符substring() 提取字符串中两个指定的索引号之间的字符toLocaleLowerCase() 根据主机的语言环境把字符串转换为小写,只有几种语言(如土耳其语)具有地方特有的大小写映射toLocaleUpperCase() 根据主机的语言环境把字符串转换为大写,只有几种语言(如土耳其语)具有地方特有的大小写映射toLowerCase()   把字符串转换为小写toString()  返回字符串对象值toUpperCase()   把字符串转换为大写trim()  移除字符串首尾空白valueOf()   返回某个字符串对象的原始值

数组的常用方法

concat()    连接两个或更多的数组,并返回结果。join()  把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。pop()   删除并返回数组的最后一个元素push()  向数组的末尾添加一个或更多元素,并返回新的长度。reverse()   颠倒数组中元素的顺序。shift() 删除并返回数组的第一个元素slice() 从某个已有的数组返回选定的元素sort()  对数组的元素进行排序splice()    删除元素,并向数组添加新元素。toSource()  返回该对象的源代码。toString()  把数组转换为字符串,并返回结果。toLocaleString()    把数组转换为本地数组,并返回结果。unshift()   向数组的开头添加一个或更多元素,并返回新的长度。valueOf()   返回数组对象的原始值
阅读全文
0 0