字符串隐藏部分内容
说明:实现一个方法,接收-一个字符串和一个符号,将学符串中间四位按指定符号隐藏
- 符号无指定时使用星号(*)
2.接收的宝符串小于或等于四位时,返回同样长度的符号串,等同于全隐藏, 如123,隐藏后是***
3.字符串长度是大于四位的奇数时,如123456789, 隐藏后是12****789, 奇数多出来的一位在末尾
mask('alibaba', '#'); // a####ba
mask('85022088'); // 85****88
mask('hello'); // ****o
mask('abc', '?'); // ???
mask('阿里巴巴集团', '?'); //阿???团
function mask(str, ch = '*') {
const len = str.length, n = len >> 1;
return len <= 4
? ch.repeat(len)
: [...str].map((s, i) => i >= n - 2 && i <= n + 1 ? ch : s).join('');
}
alert(mask('alibaba', '#'));
alert(mask('85022088'));
alert(mask('hello'));
alert(mask('abc', '?'));
alert(mask('阿里巴巴集团', '?'));