🗻

TypeScriptで数値を奇数番号と偶数番号に分けて並び替える関数を作成してみた

2020/09/18に公開

TypeScriptで数値を奇数番目と偶数番目に分けて並び替える処理が探しても見つからなかったので、作成してみました。

流れ

  1. 数値を文字列にする(0-9までの値) 1234567890 => "1234567890"
  2. 文字列を一文字ずつ配列に入れる
  3. 文字列の配列から数値の配列に変換
  4. 数値の配列を奇数番目と偶数番目にわけて、格納後、2つの配列を合わせる

インプットとアウトプット

oddToEvenNum(1243658709) // 1468023579

コード

コードは以下になります。(もっとシンプルなやり方があれば教えていただけると助かります。)

const oddToEvenNum = (num: number):number[] => {
  const numArr:number[] = num.toString().split('').map((str:string) => parseInt(str))
  const evenArr:number[] = []
  const oddArr:number[] = []
  numArr.map((num:number,i:number) => {
      return (i+1)%2===0 ? evenArr.push(num) : oddArr.push(num)
  })
  return oddArr.concat(evenArr)
}

Discussion