Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   false в -1 true в 1 (https://javascript.ru/forum/misc/48250-false-v-1-true-v-1-a.html)

рони 26.06.2014 17:50

false в -1 true в 1
 
Как ещё можно получить из false -1 а из true 1?
<script>
    var x = false,
        y = true;
    document.write([(x << 1) - 1, (y << 1) - 1]);
    document.write('<br>');
    document.write([x ? 1 : -1, y ? 1 : -1]);
    document.write('<br>');
    document.write([x - !x, y - !y]) //вариант  nerv_
    document.write('<br>');
    document.write([(x - .5) * 2, (y - .5) * 2]) //BETEPAH
    document.write('<br>');
   document.write([ +x || -1 , +y || -1 ])  // MallSerg and  Aetae 
</script>

nerv_ 26.06.2014 18:18

alert(true - !true);
alert(false - !false);


---

Получил так:
x + y = 1
x - y = -1

рони 26.06.2014 18:20

nerv_,
спасибо за вариант! добавил в 1 пост может ещё кто подскажет.

Aetae 26.06.2014 19:29

~false, +true

рони 26.06.2014 20:29

Aetae,
1 переменная на входе (true|false) и 1 преобразование/функция на выходе либо 1 либо -1

BETEPAH 26.06.2014 21:19

(!!x - .5) / .5

2 * (!!x - .5)

рони 26.06.2014 21:58

BETEPAH,
ок! :yes: добавлено в 1 пост -- оба только варианта защитаны как 1

MallSerg 26.06.2014 22:37

<script>
x=false;
y=true;
document.write([x++||x-2,y++||y-2])
</script>

BETEPAH 26.06.2014 22:44

Цитата:

Сообщение от рони
оба только варианта защитаны как 1

я бы за половину посчитал бы... ;) Это лишь вариация твоего первого варианта :)

рони 26.06.2014 22:52

MallSerg,
ок! жаль только сама переменная потеряла своё значение - добавлено в 1 пост.


Часовой пояс GMT +3, время: 15:40.