javascript - 在 Javascript 中转换 True->1 和 False->0?

标签 javascript

此外:

是吗? 1 : 0

是否有任何可以在 Javascript 中“翻译”True->1False->0 的小技巧?

我已经搜索过但找不到任何替代方案

“小技巧”是什么意思

答案:与~~6.6相同是Math.floor的技巧

最佳答案

很多方法可以做到这一点

// implicit cast
+true; // 1
+false; // 0
// bit shift by zero
true >>> 0; // 1, right zerofill
false >>> 0; // 0
true << 0; // 1, left
false << 0; // 0
// double bitwise NOT
~~true; // 1
~~false; // 0
// bitwise OR ZERO
true | 0; // 1
false | 0; // 0
// bitwise AND ONE
true & 1; // 1
false & 1; // 0
// bitwise XOR ZERO, you can negate with XOR ONE
true ^ 0; // 1
false ^ 0; // 0
// even PLUS ZERO
true + 0; // 1
false + 0; // 0
// and MULTIPLICATION by ONE
true * 1; // 1
false * 1; // 0

你也可以使用除以1, true/1;//1,但我建议尽可能避免除法。

此外,许多非一元运算符都有一个 assignment version因此,如果您有要转换的变量,可以非常快速地完成。

您可以通过 this jsperf 查看不同方法的比较.

关于javascript - 在 Javascript 中转换 True->1 和 False->0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14787761/

相关文章:

javascript - 如何在 DOM 中获取嵌入式 svg 的父元素?

javascript - 更改对象数据

javascript - Eclipse 自动完成 JavaScript

javascript - 查找数组中的对象并更新它

javascript - window.location.reload(true) 之后,IE11 中不会发生 URL 重定向

javascript - 仅显示段落的前四行,后跟省略号

javascript - 如何在 Javascript 循环中重绘 HTML 元素?

使用原型(prototype)的Javascript继承,什么是实用的方法?

javascript - knockout 嵌套 View 模型

javascript - 为 CodeMirror 编写自定义模式,用于 Brackets