Yo quería a la salida de la siguiente basado en expresiones regulares las expresiones. Yo quería tener algún tipo de reutilización basada en formatos de nombre de archivo
Formatos de nombre de archivo
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: "-",
},
];
Código de producto código de
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)
Resultado esperado para el Código de Producto
productCode: toys-blue
Código de ranura
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
),
}));
Se espera la Salida de la ranura
slotCode: wide