たとえば、次の要件:
- 6-8-6に従ってID番号を分割する
- 4-4-4-4-4に従って銀行カードを分割する
- 3-4-4に従って電話番号を分割する
両方が分割されているので、このプロセスを実行する別のメソッドを作成できます。
function segmentTheStr(str = '', segmentArr = [], customSymbol = ' ') {
// TODO:自己在这里写一下类型判断的代码,如果传入的参数的数据类型不对的话返回错误信息
// 不写也没啥事,就是别人用你这个方法的时候需要看一下参数的类型之类的了。代码注释也要打好哦!
const strArr = str.split('');
let newStrArr = [];
let num = 0;
segmentArr.forEach((item, index) => {
const startIndex = num;
num += item;
const endIndex = num;
const isLastIndex = index + 1 === segmentArr.length;
newStrArr = newStrArr.concat(strArr.slice(startIndex, endIndex), `${isLastIndex ? '' : customSymbol}`);
})
return newStrArr.join('');
}
segmentTheStr('17634418124', [3, 4, 4]) // 176 3441 8124