JavaScript 比较 3 个值

标签 javascript

我有 3 个值想要比较 f、g 和 h。我有一些代码来检查它们是否彼此相等并且没有一个为空。我在网上查看过,但找不到任何似乎可以回答我的查询的内容。目前我正在按以下方式检查代码...

if(g == h && g == f && f == h && g != null && f != null && h != null)
{
//do something
}

这很冗长,我可能会添加更多值,所以我只是想知道是否有一种更快的方法来检查所有值都不为空并且所有值都彼此相等?

预先感谢您的帮助。

最佳答案

您可以将其缩短为

if(g === h && g === f && g !== null)
{
//do something
}
<小时/>

比较多个值的实际方法(无论它们的数量)
(灵感来自/简化 @Rohan Prabhu 答案)

function areEqual(){
   var len = arguments.length;
   for (var i = 1; i< len; i++){
      if (arguments[i] === null || arguments[i] !== arguments[i-1])
         return false;
   }
   return true;
}

并调用它

if( areEqual(a,b,c,d,e,f,g,h) )
{
//do something
}
<小时/>

以及更新的方法

function areEqualNotNull(values) {
  if (values[0] === null) return false;

  return values.every(value => value === values[0]);
}

关于JavaScript 比较 3 个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9973323/

相关文章:

javascript - React Native 使用另一个函数在循环中返回多个 JSX 组件

javascript - 尽管 MFP 服务器已关闭,但仍返回访问 token

javascript - 停止 javascript 函数

javascript - 如何在具有相同类的多个文本框上将 readonly 属性设置为 false?

javascript - 获取 node.js 服务器的公共(public) ssl 证书

php - ajax请求未定义

java - 如何从javascript中的java文件调用方法?

javascript - Meteor - 无法从 Meteor 或帐户调用 loginWithToken

javascript - 使用用户输入提供名称建议

javascript - axios 使用数据服务器参数