求助:JavaScript中移除数组元素末尾 的正确实现方法
解决数组元素末尾回车符移除问题
哦,我知道问题出在哪了!你现在用的正则/^\r/是匹配字符串开头的回车符,但你的需求是移除字符串末尾的回车符对吧?这就是为什么你的代码没生效的原因~
直接修改正则表达式即可,把匹配开头的^换成匹配末尾的$,同时去掉没必要的await(map是同步方法,不需要异步等待):
var input = [ 'na\rme', 'phone\r' ]; var output = input.map(function (value) { // 匹配字符串末尾的\r并替换为空 return value.replace(/\r$/, ''); }); console.log(output); // 预期输出: [ 'na\rme', 'phone' ]
补充说明:
\r$中的$是正则里的定位符,专门匹配字符串的末尾位置,这样就能精准定位每个元素最后面的回车符并移除。- 如果你的场景中可能存在末尾有多个回车符或者混合其他空白字符(比如
\n、空格),可以用/\r+$/匹配多个末尾回车,或者/\s+$/移除所有末尾空白字符。
内容的提问来源于stack exchange,提问作者user13000875
相关产品推荐
相关产品推荐

