有这样类似的数据 dfsdd234234.jpg dfsdd234234.mp3 dfsdd234234.png … 这些字符串 想用replace()方法一句话得到 ‘.’ 之前的所有字符串
[ `dfsdd234234.jpg`, `dfsdd234234.mp3`, `dfsdd234234.png`, ].map(str=>str.replace(/(.*)\..*$/,'$1'))
.split('.')[0]
这个格式固定的话2楼方法最简单
const data = ['dfsdd234234.jpg', 'dfsdd234234.mp3', 'dfsdd234234.png']; const output = data['map'](_=>[]['reduce']['call'](_,(_,$)=>({[![]]:_[![]]||$==='.',[!![]]:_[!![]]+(!_[![]]&&$!=='.'&&$||'')}),{[![]]:![],[!![]]:''})[!![]]); console.log(output); // ["dfsdd234234", "dfsdd234234", "dfsdd234234"]
看问题应该只是想要去掉后缀名,那么应该考虑文件名内有其他.字符的情况
.
const data = ['dfsdd23.4234.jpg', 'df.sdd23.4234.mp3', 'dfsdd234234.png']; const output = data['map'](_=>[]['reduceRight']['call'](_,(_,$)=>({[![]]:_[![]]||$==='.',[!![]]:(_[![]]&&$||'')+_[!![]]}),{[![]]:![],[!![]]:''})[!![]]||_); console.log(output); // ["dfsdd23.4234", "df.sdd23.4234", "dfsdd234234"]
CNode 社区为国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究。
.split('.')[0]这个格式固定的话2楼方法最简单
看问题应该只是想要去掉后缀名,那么应该考虑文件名内有其他
.字符的情况