Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS中字符串内的按字符类反转字符串_Javascript_Node.js_Regex_String - Fatal编程技术网

Javascript JS中字符串内的按字符类反转字符串

Javascript JS中字符串内的按字符类反转字符串,javascript,node.js,regex,string,Javascript,Node.js,Regex,String,我需要将此[“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 &

我需要将此
[“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)
}
功能反转(arr){
//在这里编码。。。
var reversedArr=[];
(功能(){
反向排列
})();
(功能(){
对于(变量i=0;i
日志<代码>['xyz886'、'#$%'、'987bbc']、['314159'、'abc123!@#']


我在按字符类反转单个字符串时遇到问题,我想我可能可以使用正则表达式,但不确定该怎么做。

您可以使用以下方法来获得预期的反转:

功能反转全部(数据)
{
var输出=[];
对于(var j=data.length-1;j>=0;j--){
var rev=“”;
var arr=data[j]。拆分(“\n”);
常量regex=/\d+|[a-zA-Z]+|[^\da-zA-Z]+/g;
让m;
对于(变量i=arr.length-1;i>=0;i--)
{
while((m=regex.exec(arr[i])!==null)
rev+=m[0]。拆分(“”)。反向()连接(“”);
如果(i>0)
rev+='\n';
}
输出推力(rev);
}
返回输出;
}

日志(reverseAll([“abc123!@\n314159”,“987bbc\n#$%\nxyz886”])连接回单个字符串不是问题。预期输出的逻辑不清楚,这意味着我没有机会测试它,但它是否也能区分数字和符号?如果是,在哪里?在我看来,它似乎区别于字母和其他任何东西。有三个区别。。。数字、字母和其他任何东西。。。它由以下正则表达式区分:
/\d+|[a-zA-Z]+|[^\da-zA-Z]+/g
ahd+是数字。非常感谢。