【问题标题】:JavaScript - How to check if an output has same values [duplicate]JavaScript - 如何检查输出是否具有相同的值
【发布时间】:2018-07-08 19:42:30
【问题描述】:

如何检查数组是否具有相同的值?[a, a, a, a] //True [a,a,a,b]//False

【问题讨论】:

    标签: javascript


    【解决方案1】:

    创建一个Set并检查大小是否为1

    let arr = ['a', 'a', 'a', 'a'];
    console.log(new Set(arr).size === 1);

    或者使用一个很好的旧 for 循环

    const arr = [1,1,1,1,2];
    
    function allEqual(arr) { 
      let x = arr[0];
      for (let i = 1; i < arr.length; i++) {
        if (x !== arr[i]) return false;
      }
      return true;
    }
    
    console.log(allEqual(arr));

    【讨论】:

      【解决方案2】:

      您可以为此使用Array#every

      let a = [1,1,1,1,1]
      let b = [1,1,1,1,2]
      
      
      console.log(a.every(v => v === a[0])) // true
      console.log(b.every(v => v === b[0])) // false

      【讨论】:

        【解决方案3】:

        您可以采用传统方法 Array#every 并检查每个元素和第一个元素。

        const same = (a, _, [b]) => a === b;
        
        console.log(['a', 'a', 'a', 'a'].every(same));
        console.log(['a', 'a', 'a', 'b'].every(same));

        【讨论】:

          猜你喜欢
          • 2020-02-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-01-25
          • 1970-01-01
          • 1970-01-01
          • 2012-07-01
          • 1970-01-01
          相关资源
          最近更新 更多