1/**
2 * @param {string} S
3 * @return {string}
4 */
5var reverseOnlyLetters = function(S) {
6 let reverseArr = [...S].filter(item => /[A-Za-z]/.test(item)).reverse();
7 return [...S]
8 .map(item => /[A-Za-z]/.test(item) ? reverseArr.shift() : item)
9 .join('');
10};
11
12ensureEqual(reverseOnlyLetters("ab-cd"), "dc-ba", 'test1');
13ensureEqual(reverseOnlyLetters("a-bC-dEf-ghIj"), "j-Ih-gfE-dCba", 'test2');
14ensureEqual(reverseOnlyLetters("Test1ng-Leet=code-Q!"), "Qedo1ct-eeLg=ntse-T!", 'test3');
转载于:https://www.cnblogs.com/rencoo/p/10137865.html
本文介绍了一种使用JavaScript实现的算法,该算法能够反转字符串中的所有字母字符,同时保持其他非字母字符的位置不变。通过实例演示了如何使用正则表达式和数组方法来实现这一功能。
2998

被折叠的 条评论
为什么被折叠?



