106

特定のインデックスで分割し、コンマで区切って両方の部分を返す必要がある文字列があります。例えば:

string: 8211 = 8,211
        98700 = 98,700

したがって、特定のインデックスで文字列を分割し、文字列の両方の半分を返すことができる必要があります。組み込みメソッドは分割を実行するように見えますが、分割の一部のみを返します。

string.slice は、文字列の抽出された部分のみを返します。string.split は、インデックスではない文字で分割することのみを許可します string.substring は必要なことを行いますが、部分文字列のみを返します

4

9 に答える 9

69

ES6 1 ライナー

// :: splitAt = (number, any[] | string) => [any[] | string, any[] | string]
const splitAt = (index, xs) => [xs.slice(0, index), xs.slice(index)]

console.log(
  splitAt(1, 'foo'), // ["f", "oo"]
  splitAt(2, [1, 2, 3, 4]) // [[1, 2], [3, 4]]
)
  

于 2016-08-04T02:19:49.440 に答える
3

次の URL で入手できる数値フォーマッター JS を使用することもできます。

https://code.google.com/p/javascript-number-formatter/

形式オプション

http://jsfiddle.net/chauhangs/hUE3h/

  format("##,###.", 98700)
  format("#,###.", 8211)
于 2013-05-08T13:32:33.527 に答える
1

このようなもの?...

 function stringConverter(varString, varCommaPosition)
 {
   var stringArray = varString.split("");
   var outputString = '';
   for(var i=0;i<stringArray.length;i++)
   {
     if(i == varCommaPosition)
      {
        outputString = outputString + ',';
      }

     outputString = outputString + stringArray[i];
   }  

   return outputString;
 }
于 2013-05-08T13:39:45.803 に答える