题目:给定字符串str,每n个字符添加一个符号separator,通过substring或splice实现。
语法
1)substring() 方法用于提取字符串中介于两个指定下标之间的字符。
语法
stringObject.substring(indexA,indexB)
indexA 必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。
indexB 可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。如果省略该参数,那么返回的子串会一直到字符串的结尾。
indexA可以大于indexB!!!
2)splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。
注释:该方法会改变原始数组。
语法
arrayObject.splice(index,howmany,item1,.....,itemX)
index 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
item1, ..., itemX 可选。向数组添加的新项目。
实现
//第一种方法
function addComma(str,n,separator){
var tempArr = [];
for (var i = str.length; i >= n; i=i-n) {
tempArr.push(str.substring(i-n,i));
};
if(i>0){
tempArr.push(str.substring(0,i));
}
str = tempArr.reverse().join(separator);
return str;
}
//第二种方法
function addComma1(str,n,separator){
var tempArr = [];
var strArr = str.split("");
for (var i = strArr.length; i >= n; i=i-n) {
strArr.splice(i-n,0,separator);
};
str = strArr.join("");
return str;
}
//测试
alert(addComma("fasdfas dafsdfsdf fadsfasdfa",6,"|"));