当前位置: 首页 > 知识库问答 >
问题:

你能比较多个变量,看看它们是否都等于JS中的同一个值吗?

邴奇逸
2023-03-14

在Javascript中工作,我试图查看5个不同的变量是否在给定的时间都包含相同的值。值可以是6个事物中的1个,但我需要看看它们是否都是相同的,无论它是哪个值。我试过这个:

if (die1 == die2 & die1 == die3 & die1 == die4 & die1 == die5) {
    yahtzeeQualify == true;
}

还有这个:

if (die1 == die2 == die3 == die4 == die5) {
    yahtzeeQualify == true;
}

这两个都有效吗?如果是这样的话,我的代码可能在其他地方出现了错误...如果不是,我真的很感谢一些帮助。我在一个名为dieArray的数组中也有这些变量,如下所示:

var dieArray = [die1, die2, die3, die4, die5];

学习一种通过数组实现这一点的方法是很酷的,但如果这不符合逻辑,那么就这样吧。我会一直试着自己想办法,但直到现在我都被困住了...

共有2个答案

庄康胜
2023-03-14

使用数组的解决方案.reduce:

var values = [die1, die2, die3, die4, die5];

var yahtzeeQualify = values.reduce(function(memo, element) {
   return element === values[0];
});
钱欣然
2023-03-14

这两个都有效吗?

它们是“有效的”(这是可执行代码),但它们不执行您想要的计算。您希望使用逻辑AND(&),而不是按位AND。

第二个就是错了。您遇到了类型强制问题,并最终将die1truefalse进行比较。

学习一种通过数组实现这一点的方法将是很酷的

您可以使用array#every并比较每个元素是否等于第一个元素:

if (dieArray.every(function(v) { return v === dieArray[0]; }))
// arrow functions make this nicer:
// if (dieArray.every(v => v === dieArray[0]))
 类似资料:
  • 问题内容: 我需要比较两个Dates(例如和),并得出在同一天两个相同的true,如果不是,则返回false。 我怎样才能做到这一点?这里似乎有混乱的旋风……而且我想尽可能避免引入除JDK之外的其他依赖项。 需要说明的是:如果并且共享相同的年,月和日,则为true,否则为false。我意识到这需要了解时区…传入时区会很好,但是只要我知道行为是什么,我就可以使用GMT或本地时间。 再次澄清: 问题答

  • 我有一个值数组,我想检查它是否包含3个特定值,如果不包含,我想检查数组不包含哪些值。 3个值: 数组: 功能: 目前我认为它一次循环一个,所以它总是返回false,因为一次只检查一个值。

  • 问题内容: 这个问题已经在这里有了答案 : 如何针对一个值测试多个变量? (25个答案) 7个月前关闭。 我正在使用Python,并且我想在其中添加多个变量的if语句。 如: 我意识到这不是正确的语法,而这正是我要问的问题-这种类型的语句的正确Python语法是什么? 问题答案: 那这个呢: 如果要测试 一长串 具有相同条件的变量,这将很有帮助。

  • 问题内容: Python如何将多个变量与一个值进行比较?,例如: 我希望返回一个列表: 问题答案: 方法1 方法2 使用元组或列表 方法3 最好是使用set集合

  • 在我的代码中,我循环遍历字符串中的每个字符。我需要测试该字符是否是空格。 这是我的代码: 我也尝试过: 两者都给出了错误 或 我在测试字母或数字时没有错误。我做错了什么? 谢谢, 扎克

  • 此函数接收6个整数,如果前3个整数中的任何一个等于后3个整数中的任何一个,则返回true。有没有类似的比特黑客方法可以让它更快?