日〜土の入った配列を「○曜日はじまり」で並び替え
3220 ワード
やりたいこと
const weekday = [
'日',
'月',
'火',
'水',
'木',
'金',
'土'
];
こういう配列を、月曜始まりとか火曜始まりとかで並び替えたい
例
const start = '土';
const result = [
...[...weekday].splice(weekday.indexOf(start)),
...[...weekday].splice(0, weekday.indexOf(start))
];
console.log(result)
//=> ["土", "日", "月", "火", "水", "木", "金"]
splice
が破壊的なせいで、サクッと書けないが、spread and rest syntaxがあるので、少しは楽
識者乞 or ぼちぼち調べる
- 曜日とか、時(1〜24)、秒・分(1〜60)とかのような末尾までいったら先頭に戻るようなデータの構造を表現した名前
- こういうデータの順番を変える操作を表現した名前
(追記)circular shift
ここでやりたかった操作はcircular shiftと呼ぶことがわかった
- Circular shift - Wikipedia
- 言語やライブラリによっては、
rotate
関数として実装されてる、らしい
(追記) rotate-array
テストのあるnpm pkgあったので、いまはオレオレコード捨ててこれを使ってる
Author And Source
この問題について(日〜土の入った配列を「○曜日はじまり」で並び替え), 我々は、より多くの情報をここで見つけました https://qiita.com/sakymark/items/beb2912480f6ca4b6b59著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .