【问题标题】:Is there a more eloquent way of comparing three or more values other than long conditionals除了长条件之外,有没有更雄辩的方法来比较三个或更多值
【发布时间】:2018-01-20 14:47:46
【问题描述】:

将两个以上的值相互比较的最简洁/最有说服力的方法是什么?在下面的示例中,我正在测试三个字符串的长度。

function findMinLengthOfThreeWords(word1, word2, word3) {

  var x = word1.length;
  var y = word2.length;
  var z = word3.length;

 if(x < y && x < z)
    return x;
  else if( y < x && y < z)
    return y;
  else 
    return z;

【问题讨论】:

  • Math.min(x, y, z)?
  • @Xufox。哇,男孩,我觉得自己很笨。每天学习一种新方法。谢谢。

标签: javascript compare logic conditional


【解决方案1】:

你可以使用Math.min

function findMinLengthOfThreeWords(word1, word2, word3) {
  var x = word1.length;
  var y = word2.length;
  var z = word3.length;

  return Math.min(x, y, z);
}

或者只是

Math.min(word1.length, word2.length, word3.length);

【讨论】:

    【解决方案2】:

    如果你想扩展函数的行为来一次比较3个以上的数字,你可以使用arguments关键字,转换成一个数组并使用扩展运算符将值分配到Math.min函数中.像这样。

    function minNum(){
      return Math.min(...Array.prototype.slice.call(arguments))
    }
    
    console.log(minNum(1,2,3))
    

    【讨论】:

      【解决方案3】:

      试试这个:

      function findMinLengthOfThreeWords(word1, word2, word3) {
          return Math.min(word1.length, word2.length, word3.length);
      }
      var output = findMinLengthOfThreeWords('a', 'be', 'see');
      console.log(output); // --> 1
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-20
        • 2013-05-31
        • 2020-02-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多