Chtěl jsem, aby výstup následující na základě regex výrazy. Chtěl jsem mít nějaký druh opětné použitelnosti na základě názvem formátů
Názvem formátů
export const datas = [
{
id: 1,
name: "CODE_SLOT",
codePosition: 0,
codeType: "_",
slotPosition: 1,
slotType: "_",
},
{
id: 2,
name: "CODE-SLOT",
codePosition: 0,
codeType: "-",
slotPosition: 1,
slotType: "-",
},
];
Kód pro kód produktu
export const getProductCode = (code, codePosition, codeType) => {
return (
code.replace(/\.[^/.]+$/, "").split(codeType)[codePosition] ||
code.replace(/\.[^/.]+$/, "").split(codeType)[0] ||
""
);
};
const images = [{
name: "toys-blue_wide.jpg"
}]
const selectedFileNameFormat = datas[0]
const output = images.map((image) => ({
productCode: getProductCode(
image?.name,
selectedFileNameFormat?.codePosition,
selectedFileNameFormat?.codeType
),
}));
console.log(output)
Očekávaný Výstup pro Kód Produktu
productCode: toys-blue
Kód pro slot
export const getSlot = (slot, slotPosition, slotPosition) => {
return (
slot.replace(/\.[^/.]+$/, "").split(slotPosition)[slotPosition] ||
slot.replace(/\.[^/.]+$/, "").split(slotPosition)[0] ||
""
);
};
const images = [{
name: "toys-blue_wide.jpg"
}]
const selectedFileNameFormat = datas[0]
const output = images.map((image) => ({
slotCode: getSlot(
image?.name,
selectedFileNameFormat?.codePosition,
selectedFileNameFormat?.codeType
),
}));
Očekávaný Výstup slot pro
slotCode: wide