27 lines
		
	
	
		
			808 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			808 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| // S列番の列車からDやMの列車を検索する
 | |
| export const searchSpecialTrain = (trainNum, trainList) => {
 | |
|   const searchBase = trainNum.replace("S", "").replace("X", "");
 | |
|   const search = (text) => {
 | |
|     const TD = trainList[searchBase + text];
 | |
|     if (TD) {
 | |
|       return true;
 | |
|     }
 | |
|     return false;
 | |
|   };
 | |
|   if (search("D")) return searchBase + "D";
 | |
|   if (search("M")) return searchBase + "M";
 | |
| 
 | |
|   //増結いしづちの場合
 | |
|   const baseStr = trainNum
 | |
|     .replace("D", "")
 | |
|     .replace("M", "")
 | |
|     .replace("S", "")
 | |
|     .replace("X", "");
 | |
|   const baseNum = parseInt(baseStr);
 | |
|   if (9000 < baseNum && baseNum < 9047) {
 | |
|     //いしづちの1001M-1046Mが9000番台になっている場合に発動
 | |
|     const TD = trainList[`${baseNum - 8000}M`];
 | |
|     if (TD) return `${baseNum - 8000}M`;
 | |
|   }
 | |
| };
 |