ある文字列
aaaaabbbbbbbbggggggg
を、4つずつ左から分割していって、配列に格納していく方法を考えていますが、
直接配列に格納する方法はないようなのでそれは断念して、
左から4つずつ切り取って、それを配列に入力していこうと思うのですが、
どのように書くのがベストでしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/08 11:17
回答3件
0
ベストアンサー
こんにちは
正規表現を使って、以下はどうでしょう?
javascript
1const result = 'aaaaabbbbbbbbggggggg'.match(/.{1,4}/g);
- 動作確認用CodePen: https://codepen.io/jun68ykt/pen/RwaNXNK
投稿2020/08/08 11:39
総合スコア9058
0
まずは、文字列を最初から3文字取り出す方法を考えましょう
#配列どーこーは考える必要はないです
投稿2020/08/08 10:44
編集2020/08/08 10:45総合スコア88042
0
こんな感じでどうでしょうか?
process.stdin.resume(); process.stdin.setEncoding('utf8'); // Your code here! var eachSlice = (arr, n = 2, result = []) => { if (arr.length === 0) { return result } return eachSlice(arr, n, [...result, arr.splice(0, n)]) } // [...result, arr.splice(0, n)]が分かりにくいなら var eachSlice = (arr, n = 2, result = []) => { if (arr.length === 0) { return result; } result.push(arr.splice(0, n)) return eachSlice(arr, n, result) } const arr = 'aaaaabbbbbbbbggggggg'.split('') console.log(eachSlice([...arr], 3))
出力
[
[ 'a', 'a', 'a' ],
[ 'a', 'a', 'b' ],
[ 'b', 'b', 'b' ],
[ 'b', 'b', 'b' ],
[ 'b', 'g', 'g' ],
[ 'g', 'g', 'g' ],
[ 'g', 'g' ]
]
参考
投稿2020/08/08 10:56
総合スコア432
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。