내가 원하는 출력하고 다음에 기반한 정규 표현식이다. 고 싶어 어떤 종류의 재사용성에 따라 파일 포맷
파일 포맷
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: "-",
},
];
코드에 대한 제품 코드
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)
예상 출력의 제품 코드
productCode: toys-blue
코드 슬롯
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
),
}));
예상 출력을 위한 슬롯
slotCode: wide