仅使用数学操作更改0->1或1->0之间的值
Change a value from 0->1 or 1->0 with only mathematic operations
我在javascript上有一个变量,初始化为0。我想做的是:
- 如果该值为0,则将其更改为1;
- 如果值为1,将其改为0;
,我将避免使用条件语句(如if/else)来检查值是什么。
我想我只是做了一些数学运算;我想一个NOT操作,但我不知道如何做这个操作没有
x = 1-x;
短异或语法:
x ^= 1
将0变为1,1变为0
可以使用异或运算符:
x = x XOR 1;
如果变量是我们设为i
i = 1 - i,应该可以
如果I = 0, 1 - 0 = 1,则I = 1
如果I = 1,1 - 1 = 0,则I = 0
这是另一个符号,它也将true, false更改为1,0。
x = +x;
如果你想切换值
x = +!x;
let flip = (...array)=> {
let res = []
for(let each of array){
res.push([1,0][each])
}
console.log(res)
}
flip(0,1,1,1,0,0,1)
相关文章:
- 操作放置在画布上的元素之间的连接
- 在Google Analytics中跟踪用户,但只能在两个操作之间跟踪
- 如何解决存储中操作之间的依赖关系
- 在 Zend Framework 中的 AJAX 调用后在操作之间传递变量
- 如何在两个聚合之间进行操作
- 在不同的视图之间共享相同的操作/功能
- 弹出窗口和浏览器操作窗口之间的chrome.storage
- 在操作之间发送 Ajax 消息集超时 m 延迟
- 真实的用户操作和程序生成的操作之间有什么区别
- 如何在it块之间同步操作
- 数组之间操作中的语义含义
- chrome扩展的浏览器操作、后台脚本和内容脚本之间通信的上下文和方法
- 仅使用数学操作更改0->1或1->0之间的值
- 在表单操作与复选框或单选按钮之间交替进行
- Ajax和Ajax之间的区别是什么?调用返回JSON的操作方法时
- Redux在组件之间共享操作
- 如何使用导航器按钮执行页面之间导航以外的操作
- js按键事件和未发生按键事件时的操作之间的间隔
- 如何在我的 javascript 中延迟以下操作之间的执行
- 在相同函数的操作之间添加时间延迟