我需要转换["abc123!@#\n314159","987bbc\n#$%\nxyz886"]
加入["zyx688\n%$#\n789cbb","951413\ncba321#@!"]
我目前的代码:
function reverseAll(arr){
//coding here...
var reversedArr = [];
(function(){
arr.reverse()
})();
(function(){
for (var i = 0; i < arr.length; i++) {
reversedArr.push(arr[i].split('\n').reverse())
}
})();
console.log (reversedArr)
}
记录[ [ 'xyz886', '#$%', '987bbc' ], [ '314159', 'abc123!@#' ] ]
我遇到了通过字符类反转单个字符串的问题,我想我可以使用正则表达式但不知道该怎么做。
答案 0 :(得分:2)
您可以使用以下方法获得预期的逆转:
function reverseAll(data)
{
var output=[];
for(var j=data.length-1;j>=0;j--){
var rev = "";
var arr=data[j].split("\n");
const regex = /\d+|[a-zA-Z]+|[^\da-zA-Z]+/g;
let m;
for(var i=arr.length-1;i>=0;i--)
{
while ((m = regex.exec(arr[i])) !== null)
rev+=m[0].split("").reverse().join("");
if(i>0)
rev+='\n';
}
output.push(rev);
}
return output;
}
console.log(reverseAll(["abc123!@#\n314159","987bbc\n#$%\nxyz886"]));