Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как обойтись без ИЛИ? (https://javascript.ru/forum/events/52223-kak-obojjtis-bez-ili.html)

Deff 09.12.2014 19:25

var $val = 1,
tst = !!('179'.indexOf(''+$val)+1);
alert(tst)


var i=$val = 1;
var y = (9-i)*(7-i)*(1-i);
alert(!y)

melky 09.12.2014 22:03

Цитата:

Сообщение от nerv_ (Сообщение 345708)
как и просили, без или :)
var $val = 1;
console.log('выполняем действие');

Код:

npm install --global NervifyJS
Цитата:

Сообщение от danik.js (Сообщение 345705)
По-моему самый простой:
(['1', '7', '9'].indexOf(val) >= 0)

Цитата:

Сообщение от Ruslan_xDD (Сообщение 345636)
var $val = 1;
if($val in {1:0, 7:0, 9:0}) {
    alert(true);
}

lodash:
var $val = 1;
var values = _.invert([1, 7, 9]);
if($val in values) {
    console.log(true);
}

danik.js 09.12.2014 23:54

Deff,
var $val = 17,
tst = !!('179'.indexOf(''+$val)+1);
alert(tst)

danik.js 09.12.2014 23:58

Цитата:

Сообщение от Deff
!!('179'.indexOf(''+$val)+1)

Вот, сцуко во всех языках почти видал indexOf. Но вот такой вот извращенный способ (есть еще один, еще более уебанский) записи встречаю только в js.
Я так понимаю это потому, что js имеет низкий порог вхождения, поэтому туда прет толпа веб-говно-программистов-дегенератов и возникает такая вот херня.

Deff 10.12.2014 00:00

Гы - пример был для младших школьников - там считают от 0 до 9,
ты еще 179 задай
Вот для пятиклашек
var $val = 1,
tst = '1|7|9|'.indexOf(''+$val)+1;
alert(!!tst)

Deff 10.12.2014 00:17

Цитата:

Сообщение от danik.js (Сообщение 345783)
Вот, сцуко во всех языках почти видал indexOf. Но вот такой вот извращенный способ (есть еще один, еще более уебанский) записи встречаю только в js.
Я так понимаю это потому, что js имеет низкий порог вхождения, поэтому туда прет толпа веб-говно-программистов-дегенератов и возникает такая вот херня.

Тут у меня племянник окуенно проффи на форекс был, с кучей претензий к окружающим, действительно в списках был в первой десятке, ток пару раз лажанулся, начальнику не понравился,да и с клиентами был в речах непринуждён, дык сейчас, чтоб жена с ребёнком остались жить не на улице, пришлось помогать гасить ипотеку. Так шо кроме чсв и прохфессианализма нун еще иметь тактичность и уважение к окружающим ибо оступишьсо, а жисть она даёт не ток опыт но и ляпы, кто тебе руку протянет и из говна вытащит ? Кого ты еще здесь не обосрал ?

danik.js 10.12.2014 00:54

Deff, ну ты ведь не тупорылый клиент, так ведь? Ты вроде как и опыт имеешь, не новичок ведь (было бы простительно). Стало быть ты просто упертый говнокодер.
Ну и если меня тут забанят, я не окажусь на улице.

Deff 10.12.2014 02:27

danik.js,
Я Военный пенсионер, помимо говнокодерства пол-союза в моих разработках уже более пятнадцати лет, и замены им пока нет, а у тьву что есть? Кто тебя спрашивал, сосунка, - твое мнение о моём говнокоде ?
Имхо, к примеру, в этом топике, есть ли какая твоя идея отличная от иных предложенных? Чем ты хвалишься, красивым написанием кода ? Дегенерат имхо ты, поскольку не усвоил за столько лет даже норм приличия общения с юзерами!

danik.js 10.12.2014 02:56

Цитата:

Сообщение от Deff
Кто тебя спрашивал, сосунка, - твое мнение о моём говнокоде ?

Ну глупо же. Зачем ты тогда постишь код публично, если боишься критики?
Пости в личку автору в таком случае :)

Цитата:

Сообщение от Deff
есть ли какая твоя идея отличная от иных предложенных?

О, так ты даже не соизволил посмотреть просмотреть тему, прежде чем постить в нее?

Цитата:

Сообщение от Deff
о моём говнокоде ?

Ну хоть признал, это уже хорошо :)
Цитата:

Сообщение от Deff
1 var i=$val = 1;
2 var y = (9-i)*(7-i)*(1-i);
3 alert(!y)

А вот это - интересное решение! У меня мелькала мысль в этом направлении, но не хотелось думать )

danik.js 10.12.2014 03:07

Цитата:

Сообщение от danik.js
А вот это - интересное решение!

Впринципе, это преобразованный вид изначального решения:
i == 1 || i == 2 || i == 3
->
!( (i != 1) && (i != 2) && (i != 3) )
->
!( (1-i != 0) && (2-i != 0) && (3-i != 0) )
-> заменяем логические операции и значения арифметическими
!( (1-i) * (2-i) * (3-i) )


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