結合処理を関数化
This commit is contained in:
parent
e72cb03e08
commit
edaa16cf35
@ -77,76 +77,72 @@ export const EachTrainInfo = (props) => {
|
|||||||
}, [trainData, showNearTrain]);
|
}, [trainData, showNearTrain]);
|
||||||
|
|
||||||
const openBackTrainInfo = (stationInfo, currentTrainIndex) => {
|
const openBackTrainInfo = (stationInfo, currentTrainIndex) => {
|
||||||
const mainTrainStationPosition = trainData.findIndex(
|
const migrationArray = (stationInfo) => {
|
||||||
(d) => d.split(",")[0] == stationInfo
|
const mainTrainStationPosition = trainData.findIndex(
|
||||||
);
|
(d) => d.split(",")[0] == stationInfo
|
||||||
|
);
|
||||||
|
|
||||||
const relationMain = (() => {
|
const relationMain = (() => {
|
||||||
if (mainTrainStationPosition == 0) return "head";
|
if (mainTrainStationPosition == 0) return "head";
|
||||||
if (mainTrainStationPosition == trainData.length - 1) return "tail";
|
if (mainTrainStationPosition == trainData.length - 1) return "tail";
|
||||||
return "middle";
|
return "middle";
|
||||||
})();
|
})();
|
||||||
|
|
||||||
const subTrainStationPosition = showNearTrain.findIndex(
|
const subTrainStationPosition = showNearTrain.findIndex(
|
||||||
(d) => d.split(",")[0] == stationInfo
|
(d) => d.split(",")[0] == stationInfo
|
||||||
);
|
);
|
||||||
const relationSub = (() => {
|
const relationSub = (() => {
|
||||||
if (subTrainStationPosition == 0) return "head";
|
if (subTrainStationPosition == 0) return "head";
|
||||||
if (subTrainStationPosition == showNearTrain.length - 1) return "tail";
|
if (subTrainStationPosition == showNearTrain.length - 1) return "tail";
|
||||||
return "middle";
|
return "middle";
|
||||||
})();
|
})();
|
||||||
|
|
||||||
switch (relationMain) {
|
switch (relationMain) {
|
||||||
case "head":
|
case "head":
|
||||||
if (relationSub == "head") {
|
if (relationSub == "head") {
|
||||||
break;
|
return;
|
||||||
} else if (relationSub == "tail") {
|
} else if (relationSub == "tail") {
|
||||||
const migrationTrainData = [
|
return [
|
||||||
...showNearTrain.slice(0, subTrainStationPosition),
|
...showNearTrain.slice(0, subTrainStationPosition),
|
||||||
...trainData,
|
...trainData,
|
||||||
];
|
];
|
||||||
setTrainData(migrationTrainData);
|
} else if (relationSub == "middle") {
|
||||||
} else if (relationSub == "middle") {
|
return [
|
||||||
const migrationTrainData = [
|
...showNearTrain.slice(0, subTrainStationPosition),
|
||||||
...showNearTrain.slice(0, subTrainStationPosition),
|
...trainData,
|
||||||
...trainData,
|
];
|
||||||
];
|
} else return;
|
||||||
setTrainData(migrationTrainData);
|
case "tail":
|
||||||
}
|
if (relationSub == "head") {
|
||||||
break;
|
return [
|
||||||
case "tail":
|
...trainData.slice(0, mainTrainStationPosition),
|
||||||
if (relationSub == "head") {
|
...showNearTrain,
|
||||||
const migrationTrainData = [
|
];
|
||||||
...trainData.slice(0, mainTrainStationPosition),
|
} else if (relationSub == "tail") {
|
||||||
...showNearTrain,
|
return;
|
||||||
];
|
} else if (relationSub == "middle") {
|
||||||
setTrainData(migrationTrainData);
|
return [
|
||||||
} else if (relationSub == "tail") {
|
...trainData.slice(0, mainTrainStationPosition),
|
||||||
break;
|
...showNearTrain.slice(subTrainStationPosition),
|
||||||
} else if (relationSub == "middle") {
|
];
|
||||||
const migrationTrainData = [
|
} else return;
|
||||||
...trainData.slice(0, mainTrainStationPosition),
|
case "middle":
|
||||||
...showNearTrain.slice(subTrainStationPosition),
|
if (relationSub == "head") {
|
||||||
];
|
return [
|
||||||
setTrainData(migrationTrainData);
|
...trainData.slice(0, mainTrainStationPosition),
|
||||||
}
|
...showNearTrain,
|
||||||
break;
|
];
|
||||||
case "middle":
|
} else if (relationSub == "tail") {
|
||||||
if (relationSub == "head") {
|
return [
|
||||||
const migrationTrainData = [
|
...showNearTrain.slice(0, subTrainStationPosition),
|
||||||
...trainData.slice(0, mainTrainStationPosition),
|
...trainData.slice(mainTrainStationPosition),
|
||||||
...showNearTrain,
|
];
|
||||||
];
|
} else return;
|
||||||
setTrainData(migrationTrainData);
|
}
|
||||||
} else if (relationSub == "tail") {
|
};
|
||||||
const migrationTrainData = [
|
const array = migrationArray(stationInfo);
|
||||||
...showNearTrain.slice(0, subTrainStationPosition),
|
if (!array) return;
|
||||||
...trainData.slice(mainTrainStationPosition),
|
setTrainData(array);
|
||||||
];
|
|
||||||
setTrainData(migrationTrainData);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
setIsConcatNear(true);
|
setIsConcatNear(true);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user