如果不是,则包含许多或表达式的函数不会在所有或可能性中循环

Pro*_*zak 0 javascript

我根据值是有条件地显示图像。该值是一个字符串。但是,它仅返回第一张图像。它不会遍历整个功能。

  • 我尝试在值周围放置方括号,它确实起作用,但仅检查第一个字符串。
  • 尝试使用一个等号,不会改变任何内容。
  methods: {
    resultImage(value) {
      if (
        value === 'Less likely' ||
        'More likely light' ||
        'More likely blue' ||
        'More likely curly'
      ) {
        return this.low
      } else if (value === 'Average chance') {
        return this.medium
      } else if (
        value === 'Somewhat more likely' ||
        'Somewhat more likely brown' ||
        'Somewhat more likely curly'
      ) {
        return this.mediumHigh
      } else if (
        value === 'More likely' ||
        'More likely dark' ||
        'More likely brown' ||
        'More likely straight'
      ) {
        return this.high
      }
    }
  }
Run Code Online (Sandbox Code Playgroud)

期望函数循环到最后并根据该值返回图像。实际结果是它返回了第一张图像。

Sma*_*101 6

当前,每个字符串的求和结果,true除非是nullundefined。您没有将value第一个与其他任何一个进行比较。您需要比较所有这些,否则,第一个if块将每次通过。

value ===在每个表达式上都缺少:

 methods: {
    resultImage(value) {
      if (
        value === 'Less likely' ||
        value === 'More likely light' ||
        value === 'More likely blue' ||
        value === 'More likely curly'
      ) {
        return this.low
      } else if (value === 'Average chance') {
        return this.medium
      } else if (
        value === 'Somewhat more likely' ||
        value === 'Somewhat more likely brown' ||
        value === 'Somewhat more likely curly'
      ) {
        return this.mediumHigh
      } else if (
        value === 'More likely' ||
        value === 'More likely dark' ||
        value === 'More likely brown' ||
        value === 'More likely straight'
      ) {
        return this.high
      }
    }
  }
Run Code Online (Sandbox Code Playgroud)