gpt4 book ai didi

javascript - 在 JavaScript 代码中重构 switch-case 语句

转载 作者:搜寻专家 更新时间:2023-10-30 22:06:19 25 4
gpt4 key购买 nike

我如何 react 这段代码,以避免重复 dailogObj.image?如果不是第 5 种情况,我会写一个 return 语句,我有两个任务。

getDialogData(imageNum): any {

const dailogObj = {
image: '',
buttonName: 'Learn More'
};

switch (imageNum) {
case 1:
dailogObj.image = '../../../assets/images/Red-Image.png';
break;
case 2:
dailogObj.image = '../../../assets/images/blue-image-orgl.png';
break;
case 3:
dailogObj.image = '../../../assets/images/Green-Image-2.png';
break;
case 4:
dailogObj.image = '../../../assets/images/Gold-Image.png';
break;
case 5:
dailogObj.image = '../../../assets/images/green-img-orgl.png';
dailogObj.buttonName = 'Read Her Story';
break;
case 6:
dailogObj.image = '../../../assets/images/Red-Image-2.png';
break;
case 7:
dailogObj.image = '../../../assets/images/Blue-Image-2.png';
break;
case 8:
dailogObj.image = '../../../assets/images/Gold-Image-2.png';
break;
}

return dailogObj;
}

最佳答案

您可以将该赋值提取到它自己的条件中,只需使用一个数组来设置 image 属性:

getDialogData(imageNum): any {
const dailogObj = {
image: '',
buttonName: 'Learn More'
};

// Handle the default case if imageNum is not in range [1..9]
if (imageNum >=1 && imageNum <=9) {
// Special treatment of image number 5
if (imageNum == 5) {
dailogObj.buttonName = 'Read Her Story';
}

// If it is in range, pick the right image:
var images =
['../../../assets/imfages/Red-Image.png',
'../../../assets/images/blue-image-orgl.png',
'../../../assets/images/Green-Image-2.png',
'../../../assets/images/Gold-Image.png',
'../../../assets/images/green-img-orgl.png',
'../../../assets/images/Red-Image-2.png',
'../../../assets/images/Blue-Image-2.png',
'../../../assets/images/Gold-Image-2.png'];

dailogObj.image = images[imageNum - 1];
}
return dailogObj;
}

关于javascript - 在 JavaScript 代码中重构 switch-case 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50791457/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com