这个真的是醍醐灌顶
//单行文本去重
function SingleLineDistinct (str) {
// Array.prototype.slice.call(str|new String(str)) 可兼容不支持from接口的浏览器
return Array.from(str).reduce(
// 这里应该很好明白是在干什么吧?
(pre,cur) => (pre.match(cur) ? pre : pre + cur),
// 需要传入一个初始空字符串参数,否则你将得到的是一个字符串被拆分后的数组。
""
);
}
function MultiLineCharDistinct (mlstr) {
// 是不是超级简单?
return mlstr.split("\n").map(SingleLineDistinct).join("\n")
}