題目:給定字元串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,"|"));