在js中,字符串(string)和数组(array)是常用到的变量,js中也为这2种变量提供了各种强大的函数。
如果能较好的运用这些函数,在进行算法计算时可以说是事半功倍,但作为初学者,我们常常对这些函数感到眼花缭乱,下面将对string和array中常用到的函数进行盘点和比较。
一、string变量和array变量之间的转换
1)stringObject.split(separator,howmany);
作用:以separator为分割条件,用于将一个字符串分割为有howmany个元素的字符串数组。howmany不填时,默认分割整个字符串。
返回的数组中,不包括separator本身。
该功能和arr.join()是相反的。
举例:
<script>
var str = "I am a little lovely girl";
var arr = str.split(" ",4); //以空格为分割点,后面的4限制了输出数组中元素的数
document.write(arr); //输出[“I”,"am","a","little"]
</script>
2)arrayObject.join(separator);
作用:将数组内的元素转化为字符串,将这些元素之间用separator连接起来,形成一个的新的长字符串。
该功能和string.split()是相反的。
举例:
<script>
var arr = ["I","am","a","little","lovely","girl"];
var str = arr.join(" "); //以空格为连接符串联字符串
document.write(str); //输出 I am a little lovely girl
</script>
二、string变量函数
1)stringObject.substr(start,length);
作用:从字符串中提取指定的子字符串。start是指原字符串的下标,指定从start的位置开始;length指定了子字符串的长度,如果不填写length,则默认提取自start后的全部字符。(下标默认从0开始)
start和length必须为整数。
举例:
<script>
var string = "I am a little lovely girl";
var substr = string.substr(3,10);
document.write("substr"); //输出m a little
</script>
2)stringObject.indexOf(searchvalue,fromindex);
作用:返回某个指定的字符串值searchvalue在字符串对象中首次出现的位置。fromindex指定了搜索开始的位置,若不指定则默认从头开始搜索。
大小写敏感,搜索不到时返回-1.
举例:
<script>
var str = "I am a little lovely girl";
document.write(str.indexOf("I am")+"<br/>");
document.write(str.indexOf("I am",5)+"<br/>");//默认从第5个字符开始,所以无法搜索到,返回-1
document.write(str.indexOf("little")+"<br/>");
</script>
最终输出:
0
-1
7
3)stringObject.replace(substr,replacement);
作用:在字符串对象中,使用指定的replacement字符来替代substr。
举例:
<script>
var str = "I am a little lovely girl";
var str1 = str.replace("lovely","cute");
document.write(str1); //输出I am a little cute girl
</script>
4)stringObject.toLowerCase()/ stringObject.toUpperCase()
作用:将字符串全部转化为小写字母/大写字母