私はランダムな文字列だったと仮定すると:私はJavascriptの4つのグループにこの文字列を分割する方法を文字列をグループに吐き出す方法は?
string = "223243902345676";
を、持っている:
string = ['0223','2439','0234','5676'];
私はランダムな文字列だったと仮定すると:私はJavascriptの4つのグループにこの文字列を分割する方法を文字列をグループに吐き出す方法は?
string = "223243902345676";
を、持っている:
string = ['0223','2439','0234','5676'];
このコード
// 0. declare input value
const input = '223243902345676'
const inputs = input.split('')
// 1. get how many zero padding
const padding = 4 - inputs.length % 4
// 2. get zero padding array
const zeroItems = []
for (let i = 0; i < padding; i++) {
zeroItems.push(0)
}
// 3. concat 2 array (now we get items with zero padding)
const mergeItems = zeroItems.concat(inputs)
// 4. get each item of 4 characters and put to result
const result = []
const LEN = mergeItems.length/4
for (let i = 0; i < mergeItems.length; i += LEN) {
const resultItems = mergeItems.slice(i, i + LEN)
result.push(resultItems.join(''))
}
console.log(result) // print ["0223", "2439", "0234", "5676"]
これは私がそれをやる方法です。ここ
yourString.match(/.{1,4}/g);
'0' パッディングを有する別の方法です。
let string = '223243902345676';
const fourDigits = /\d{4}/g;
const result = string
.split('')
.reduce((prev, curr, index) => {
let padding = '0' + prev;
return (index === 1) ? padding += curr : prev += curr;
})
.match(fourDigits);
console.log(result);
// ['0223','2439','0234','5676'];
したがって、欠落している数字を埋めるためにゼロを追加しますか?何を試しましたか? – Li357
私は.splice関数を使って遊んでみましたが、役に立たない –