仅使用数学操作更改0->1或1->0之间的值

Change a value from 0->1 or 1->0 with only mathematic operations

本文关键字:之间 操作      更新时间:2023-09-26

我在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)