《JavaScript》split和join

首先了解split和join两个函数

split

根据条件截断字符串,返回数组

//str.split(option,length) 字符串转数组
//option:表示分割依据
//length:用来分割的字符串长度,只有在option为''时生效

 

var str = 'AB CD'
str.split()        //["AB CD"] 字符串为一个数组元素
str.split('')    //["A", "B", " ", "C", "D"]每个字符为一个数组元素
str.split(' ')        //["AB", "CD"]以空格为分割依据,空格被舍去
str.split(',')    //["AB CD"]没有,号,所以没有被分割
str.split(3)    //["AB CD"]
//测试length
var str = 'AB3CD'
str.split(3)    //["AB", "CD"]
str.split(3,1)   //["AB"]
str.split('',3)    //["A", "B", "3"]
//测试正则表达式
var str = 'AB=3CD-(E+'
str.split(/\w/) //["", "", "=", "", "", "-(", "+"] 
                //被匹配到的字符A后面的B也可以匹配到,则把A变为'';
                //B的前面A也可以匹配到,所以变为''
                //匹配不到的 -( 为一个数组元素
                //匹配到的E前后都匹配不到,则E消失
str.split(/\w+/)//["", "=", "-(", "+"] 同理,这个匹配的不是单字符

 

join

//arr.join(option)  数组转字符串
//option:数据元素之间的间隔符号默认逗号,

 

var array = ['a','b','c']
array.join()    //"a,b,c"    
array.join('')    //"abc"
                    //传入参数,效果相同
array.join(' ')        //"a b c"
array.join('123')    //"a123b123c"
array.join('+3')    //"a+3b+3c"

 

字符串倒序有两种方案:思路都是字符串转化为数组,让数组完成倒序,最后数组转为字符串

/////////----字符串颠倒输出
//str[i],可以将字符串当做数据,取到下标为i的字符
//将字符串从后往前放入数组中,做出一个倒序的数组
//使用数组转字符串
function reverse(str){
    var array = [];
    for(var i = str.length-1 ; i>=0 ; i--){//如果是 i++ 控制台会崩溃
         array.push(str[i])
    }
    return array.join('');
}
var newStr = reverse('hello world')
console.log(newStr)

 

 

/////----------字符串颠倒输出
///利用数组的array.reverse方法做倒序
///array.split([option])将字符串转为数组
function reverse(str){
    return str.split('').reverse().join('');
}
var newStr = reverse('hello world')
console.log(newStr)

 

posted @ 2018-05-29 22:40  言凡  阅读(308)  评论(0编辑  收藏  举报