1. JavaScript / Говнокод #16248

    +164

    1. 1
    if( [ 'someString' ].indexOf( someVar ) !== -1 ) return;

    Предлагаю объявить конкурс на самую дурацкую замену конструкции if (someVar === 'someString') return;

    Запостил: oshibka404, 27 Июня 2014

    Комментарии (27) RSS

    • // Способ 1
      if({'someString':true}[someVar]) return;
      
      // Способ 2
      if(eval("({"+JSON.stringify(someVar)+":true})").someString) return;
      Ответить
      • Хотя, если очень постараться, то может и не сработать :D
        Кстати, а кто-нибудь может написать, на чём не сработает?
        Ответить
        • {toString: function(){ return 'someString'}}
          Ответить
        • ""?
          Ответить
          • Нет. С пустой строкой всё хорошо в обоих вариантах.
            Ответить
            • Ок, оставляя в стороне вещи вроде {'null':true}[null]... хз. Походу любая строка - валидный ключ, так что получить false при том, что строки равны, не представляю как.
              Ответить
    • cleaned
      Ответить
    • if(Object.keys(eval('({' + (typeof someVar + typeof 'someString').split('').join(':0,') + ':0})')).length == (typeof 'someString').length && someVar == 'someString') return;
      Ответить
    • Оставлю это в разделе ЖС. Проверим здешних сайтостроителей.
      http://fintuning.ru/japonskijj_test_plot
      Ответить
      • Прошел... Добрая игрушка про обыкновенную японскую семью - папа, избивающий дочек, мама, избивающая сыновей, и малолетняя преступница.

        А причем здесь сайтостроители?
        Ответить
        • прошел too.
          это ж тест на логику. если прошел - способен мыслить - будешь не говном в коллег кидаться, а писать культурный код
          Ответить
        • А потом собираются все вместе на берегу засранной речки и танцуют
          Ответить
          • и судя по пейзажу, все едут в одну и ту же тюрячку
            Ответить
        • > про обыкновенную японскую семью - папа, избивающий дочек, мама, избивающая сыновей
          Вот вы смеётесь, а я вот посмотрев пару серий аниме, не удивлюсь если это на самом деле так.
          Ответить
    • показать все, что скрытоХуй.
      Ответить
    • вообще-то это хороший способ заменить множественные сравнения, особенно если переменная имеет длинное имя
      if (veryLongMazafakaVariable=='hui' || veryLongMazafakaVariable =='pizda' || veryLongMazafakaVariable == 'djigurda') {...}
      =>
      if (['hui','pizda','djigurda'].indexOf(veryLongMazafakaVariable) > -1)
      Ответить

    Добавить комментарий