Siteswap.analyze()

analyze() メソッドは、入力文字列を解析してサイトスワップデータを返します。

構文

analyze(text)

引数

text
サイトスワップパターンを表す文字列です。

返値

以下のようなプロパティを持ったオブジェクトを返します。

count
サイトスワップの道具数です。例えばパターン文字列が "51" なら 3 になります。
message
パターン文字列が妥当なサイトスワップではなかった場合、その理由を表すメッセージ文字列が格納されます。
period
サイトスワップの周期です。例えばパターン文字列が "7131" なら 4、"(4x,2x)" なら 2 などとなります。
state
サイトスワップの状態を表す数値配列です。例えばパターン文字列が "51" なら [1, 1, 0, 1]、"[34]20" なら [2, 1] などとなります。
sync
パターン文字列がシンクロだった場合は true が、それ以外の場合は false が格納されます。
text
パターン文字列そのものです。引数に渡した文字列のうち全角は半角に、大文字は小文字に変換されます。
throws
パターン文字列を数値配列の配列に変換したものです。例えばパターン文字列が "3" なら [[3]]、"[34]20" なら [[3, 4], [2], [0]] となります。シンクロの場合 "x" が付く数字は奇数に変換されますが、左側の数字には +1、右側の数字には -1 が加えられます。例えば "(4x,2x)" なら [[5], [1]] です。
valid
必ず存在します。入力文字列が妥当なサイトスワップだった場合は true が、それ以外の場合は false が格納されます。

const result = jmotion.Siteswap.analyze("531");

// result = {
//     "count": 3,
//     "period": 3,
//     "state": [1, 1, 1],
//     "sync": false,
//     "text": "531",
//     "throws": [
//         [5],
//         [3],
//         [1],
//     ],
//     "valid": true,
// }