末尾が4の部屋番号を飛ばして、1つのマンションの部屋番号のリストを作りたいのですが、末尾4の部屋番号を飛ばしたリストを作るためにはどのように書いたらよいでしょうか?
いろいろ自分でいじくりまわしていたのですが、混乱してきてしまったので、ちょっとお力をお借りできると嬉しいです。
以下の例は、全体で20部屋あるマンションで、1つの階にそれぞれ5部屋存在している場合の部屋番号のリスト生成コードとなります。
※onokatioさんの回答を参考に出来ました。
修正済み完成版
var roomCount = 20; //全体の部屋数 var roomPerFloor = 5; //1つの階に対する部屋数 var roomNumber = 101; var roomsList = []; var i = 1; for (i; i <= roomCount; i++) { roomsList.push(roomNumber); if (shouldChangeFloor(roomPerFloor, i) === true) { roomNumber = getRoomNumberForNextFloor(roomNumber); } else { roomNumber = roomNumber + 1; } //onokatioさんの回答を参考に追加 if (roomNumber % 10 === 4) { roomNumber = roomNumber + 1; } } console.log(roomsList); function getRoomNumberForNextFloor() { var initialDigit = Number(String(roomNumber)[0]); //部屋番号の1桁目を取得 var initialDigit = String(initialDigit + 1); //1桁目をインクリメント return Number(String(initialDigit) + "01"); //(例) 101 -> 201 } function shouldChangeFloor(roomPerFloor, i) { return i % roomPerFloor === 0; }
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/05/14 09:44
退会済みユーザー
2017/05/14 09:45
退会済みユーザー
2017/05/14 09:49
退会済みユーザー
2017/05/14 09:49
退会済みユーザー
2017/05/14 09:51
退会済みユーザー
2017/05/14 09:55
退会済みユーザー
2017/05/14 09:57