【问题标题】:how to concat string with dynamic value if that value exists如果该值存在,如何将字符串与动态值连接
【发布时间】:2017-01-29 07:00:05
【问题描述】:

假设我有一个变量data

var data = 6;

如果我们有 data 值并且它大于 5,那么输出应该是:

"Hello x, 6 is your promo code"

如果我们没有 data 值,或者该值小于 5,那么输出应该是:

"Hello x"

我怎样才能用一行 JavaScript 做到这一点?

【问题讨论】:

  • if (data >= 6) return "Hello x, 6 is your promo code";否则返回“你好 x”
  • 我觉得很讽刺,这个简单的问题你不可能解决不了,因为你的声望已经够高了..

标签: javascript string


【解决方案1】:

我会说,这是一个简单的三元运算符

var data = 6,
    minVal = 5;

var promo = data > minVal ? "Hello x, " + data + " is your promo code" : 'Hello x';

console.log(promo);

【讨论】:

    【解决方案2】:
    document.write(data > 5? "Hello x, 6 is your promo code" : "Hello x");
    

    【讨论】:

      【解决方案3】:

      试试这个:

      var numb = 12;
      var msg = "Hello x" + (numb > 5 ? (', ' + numb + ' is your promo code') : '');
      console.log(msg);

      【讨论】:

        【解决方案4】:

            var x=3;
            alert('Hello' + ((typeof(x) =='undefined' || x<5) ? ' x, ' : ', ' +x + ' is your promo code'));

        【讨论】:

        • var x=32; alert('Hello' + ((typeof(x) =='undefined' || x
        【解决方案5】:

        试试这个:

        (data>5) ? "Hello x," +6+" is your promo code" : "Hello x
        

        【讨论】:

          【解决方案6】:

          您可以使用conditional (ternary) operator

          condition ? expr1 : expr2 
          

          条件(三元)运算符是唯一一个接受三个操作数的 JavaScript 运算符。此运算符经常用作if 语句的快捷方式。

          var data = 6,
              promo = data > 5 ? "Hello x, 6 is your promo code" : 'Hello x';
          
          console.log(promo);

          【讨论】:

            猜你喜欢
            • 2023-03-15
            • 2014-08-08
            • 2010-11-03
            • 1970-01-01
            • 1970-01-01
            • 2018-09-13
            • 2014-09-11
            • 2016-03-14
            • 1970-01-01
            相关资源
            最近更新 更多