/**
给字符串打马赛克
如:将123456转换为1****6,最多将字符串中间6个字符变成*
如果字符串长度小于等于2,将不会有效果
*/
addMosaic(str) {
const s = String(str);
const lenth = s.length;
const howmuch = (() => {
if (s.length <= 2) {
return s.length;
}
const l = s.length - 2;
if (l <= 6) {
return l;
}
return 6;
})();
const start = Math.floor((lenth - howmuch) / 2);
const ret = s.split("").map((v, i) => {
if (i >= start && i < start + howmuch) {
return "*";
}
return v;
});
return ret.join("");
},