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