从javascript regex.exec中分配多个变量

时间:2012-09-06 11:24:11

标签: javascript

我正在尝试找一些适用于Firefox但不适用于其他浏览器的代码,目前函数看起来像这样:

function capitalise(myString) {
  // Extract 1st char (b) and rest of string (c) then return it with b capitalised
  var [a, b, c] = /^(.)(.*)$/.exec(myString);
  return b.toUpperCase()+c;
}

在Firefox中完美运行,但Chrome和Opera不允许这样做。任何人都可以提出体面的工作吗?

我使用相同的var [thing1,thing2,thing3] = regex.exec(str);我正在编写的脚本中各种事物的语法。

1 个答案:

答案 0 :(得分:0)

我想这可以在其他浏览器中使用:

function capitalise(myString) {
  // Extract 1st char (b) and rest of string (c) 
  // then return it with b capitalised
  var abc = /^(.)(.*)$/.exec(myString);
  return abc[1].toUpperCase()+abc[2];
}

或者:

function capitalise(myString) {
  return myString.match(/^(.)(.+)$/)
          .slice(1)
          .reduce(function(a,b){return a.toUpperCase()+b;}
         );
}