1. Список говнокодов пользователя sashapinsk

    Всего: 1

  2. JavaScript / Говнокод #17828

    +159

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    function getProductIds(text, containerId) {
            var products = new Array();
     
            var valueFound = false;
     
            var start = 0;
            var end = 0;
            var itemCount = 0;
            var curChar = 0;
     
            var readStart = text.indexOf(containerId);
     
            var triggerChar = ">";
     
            while (valueFound == false) {
                if (text.substring(readStart + curChar, readStart + curChar + triggerChar.length) == triggerChar)
                    valueFound = true;
                else
                    curChar++;
            }
     
            start = readStart + curChar + 1;
     
            valueFound = false;
            triggerChar = "</div>";
     
            while (valueFound == false) {
                if (text.substring(readStart + curChar, readStart + curChar + triggerChar.length) == triggerChar)
                    valueFound = true;
                else
                    curChar++;
            }
     
            end = readStart + curChar;
     
            var itemsHtml = text.substring(start, end).replace(" ", "").replace("\n", "");
     
            curChar = 0;
     
            triggerChar = "ProductId";
     
            while (curChar < itemsHtml.length) {
                if (itemsHtml.substring(curChar, curChar + triggerChar.length) == triggerChar)
                    itemCount++;
     
                curChar++;
            }
     
     
     
            for (var curItem = 1; curItem <= itemCount; curItem++) {
     
                var product = new Array();
     
                product[0] = getValue(itemsHtml, "LineItem_" + curItem + "_ProductId", "value=\"", "\"", 1);
                product[1] = getValue(itemsHtml, "LineItem_" + curItem + "_ProductName", "value=\"", "\"", 1);
                product[2] = getValue(itemsHtml, "LineItem_" + curItem + "_Quantity", "value=\"", "\"", 1);
                product[3] = getValue(itemsHtml, "LineItem_" + curItem + "_UnitPrice", "value=\"", "\"", 1);
     
                products[curItem - 1] = product;
     
            }
     
            return products;
        }

    Шедевральный код. Работают с HTML даже не на нативном js, а как с обычной строкой. Правильно, зачем париться - строки знают все :)

    PS Код не мой. Однако стоит отметить, что он успешно используется на реальных сайтах :)

    sashapinsk, 20 Марта 2015

    Комментарии (1)