【问题标题】:Javascript Switch statement with map that adds X amount of cases带有地图的Javascript Switch语句添加了X个案例
【发布时间】:2019-10-29 13:42:14
【问题描述】:

我正在获取未知数量的图像,我想创建一个映射图像数组的函数,并根据开关的情况决定它显示的图像

我尝试在开关内插入一个包含 case 的 map 函数,但我收到一条错误消息,提示我需要一个 case

switch(this.state.currentImage){
   user.photos.map((img, index) => {
        return (
                <Image 
                style={[styles.photo, {zIndex: 5, flexDirection: "row"}]} 
                source={{ uri: img }}/>
               )
        }
}

【问题讨论】:

  • 不清楚交换机如何与所提供的内容一起工作。 case 在哪里

标签: javascript react-native


【解决方案1】:

您没有提供足够的上下文来给您一个绝对的答案。 而且我认为您不了解开关的工作原理。 switch 测试 case 中的条件是否与 in 开关中的条件相同。

switch ('Test') {
  case 'Test':
   console.log('This will be logged');
   break;
  case 'Wrongtest':
   console.log('This will not');
   break;
}

但是,如果图像存储在数组中,并且您只想根据某些变量或数据使用一些图像,我会这样处理:

let allImages = [img1, img2, img3, img4 ...];
let imagesToShow = [];
function parseImages(){
allImages.forEach(image => {
  if (image.importantVariable){
    imagesToShow.push(image)
   }
 })
}

if 语句检查图像中的“重要”事物是否是您想要的。由于您没有说明决定因素是什么,所以我不知道您会在 if 语句中添加什么。 然后就可以使用 imagesToShow-array 中的图片了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-21
    • 1970-01-01
    • 2010-10-23
    • 2014-01-03
    • 2020-03-15
    • 1970-01-01
    相关资源
    最近更新 更多