gpt4 book ai didi

javascript - bool 表达式 - 与 AND、OR 逻辑运算符混淆以及它们的工作原理

转载 作者:行者123 更新时间:2023-11-30 17:01:13 25 4
gpt4 key购买 nike

我必须将数字转换为逗号格式。例如 12345 => 12,345。

我有我的解决方案:

function convert(n) {  n = n.toString();  var result = '';  var count = 0,  var idx = n.length - 1;  while (r = n[idx]) {    count++;    result = ((count % 3 == 0 && count != n.length) ? ',' : '') + r + result;    idx--;  }  return result;}

但是别人用过:

    result = ((count % 3 != 0 || count == n.length) ? '' : ',') + r + result;

它们都有效,但现在我对自己的解决方案感到困惑,并且不知道为什么它们都有效。啊不确定我的问题是否清楚。

最佳答案

!(x AND y) 等于 !x OR !y

(并且您可以通过双重否定从 bool 值 x 中提取 NOT,例如:

x == !!x

所以

x AND !y(您的原始表达式)等同于 !(!x OR y)

如果您从一开始就删除了否定 (!),那么您实际上得到了 Negated 形式,这就是第二个示例中三元运算符的第二个和第三个值颠倒的原因。

关于javascript - bool 表达式 - 与 AND、OR 逻辑运算符混淆以及它们的工作原理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28824764/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com