1

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); を使用します。私が現在書いているスクリプトのさまざまな構文。

4

1 に答える 1

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;}
         );
}
于 2012-09-06T11:38:16.700 に答える