Как обрабатывается со-рекурсия?

Хорошо, в принципе, у меня проблема с пониманием того, применим ли вариант 1 или 2 в следующем случае:

naturals = 0 : map (+ 1) naturals

Где есть варианты:
1. Исполнение ужасное, все пересчитывается на каждом шаге:

naturals     = [0]
naturals'    = 0:map (+ 1) [0]          // == [0, 1]
naturals''   = 0:map (+ 1) [0, 1]       // == [0, 1, 2]
naturals'''  = 0:map (+ 1) [0, 1, 2]    // == [0, 1, 2, 3]
naturals'''' = 0:map (+ 1) [0, 1, 2, 3] // == [0, 1, 2, 3, 4]

2. Выполнение не ужасное, список всегда бесконечен и mapприменяется только один раз

naturals     = 0:something
                                  |
naturals'    = 0:      map (+ 1) (0:      something)
                                    |
naturals''   = 0:1:    map (+ 1) (0:1:    something')
                                      |
naturals'''  = 0:1:2:  map (+ 1) (0:1:2:  something'')
                                        |
naturals'''' = 0:1:2:3:map (+ 1) (0:1:2:3:something''')

с |, указывающим, где находится mapв его выполнении.

Я знаю, что ответы могут быть только 1 или 2 , но я был бы признателен за некоторые указатели на хорошие объяснения со -рекурсии, чтобы развеять последние сомнения :)

-. ] 121 ---933633-

JSON.parse :неожиданный не -символ пробела после данных JSONЯ хочу создать объект JSON, полученный из выбранных параметров 4 меню выбора. Эти меню могут иметь параметры, выбранные при загрузке (из-за технологии на стороне сервера ), или могут не иметь параметров...

Я хочу создать объект JSON, полученный из выбранных параметров 4 меню выбора. Эти меню могут иметь опции, выбранные при загрузке (из-за технологии на стороне сервера ), или вообще не иметь выбранных опций! После загрузки страницы с использованием $ (document ).ready ()мой скрипт запускается… однако у меня возникают некоторые проблемы с объектом JSON «JSON.parse :неожиданный не -пробел символ после данных JSON

Я хочу, чтобы мой JSON имел следующую структуру

selObj = {

    category: selectedCategory, // we can only have 1 category, this isn’t giving me a problem…

    catOptions:{
        optionValue:discountValue, // we can have many of these
        optionValue:discountValue,
        optionValue:discountValue
    },

    tariff:{
        tariffValue:discountValue, // we can have many of these
        tariffValue:discountValue
    },

    tarOptions:{
        tarOption:discountValue, // we can have many of these

    }

};

Хорошо, вот моя функция, я удалил здесь некоторые элементы для упрощения,но я передаю исходный пустой объект в функцию в качестве аргумента, а затем надеюсь изменить это, поскольку я захочу передать объект JSON обратно на сервер, если/когда меню выбора будут изменены… но пока мы просто работа с загрузкой страницы… функция также показывает значения или то, что выбрано в динамической таблице, созданной с помощью функции с именем defaultTable(), просто пока игнорируйте это, меня интересует заполнение объекта JSON (и проблемы с ).

var selectMenuArray = ["cat", "catOpt", "tariff", "tariffOpt"], // these are the IDs of the select menus...     
selObj = {};

function setUpTable(selectArray, theObj){

    // okay, if we enter the page and and the user already has a tarif selected (so it is shown in the menus) we wish to show the table with the 
    // default/original values...

    var currentSelect,
        catA = [],
        catOptA = [],
        tarA = [],
        tarOptA  = [],
        catOptForObj,
        tariffForObj,
        tariffOptForObj,
        temp1 = {},
        temp2 = {},
        temp3 = {},
        i;

    // loop through the 4 menus and see what is selected
    for(i=0;i
        currentSelect = document.getElementById(selectArray[i]);

        for(j=0;j 0 || catOptA.length > 0 || tarA.length > 0 || tarOptA.length > 0){

        // show table...
        $("#dynamicTableHolder table").css("visibility","visible").hide().fadeIn('slow');

        for(i=0;i

У меня проблемы с созданием объекта JSON, я пытаюсь объединить строки во время цикла, а затем преобразовать их в объекты с помощью метода jQuery.parseJSON… однако я делаю это неправильно. Я даже пытался изменить кавычки при создании temp1.

Я знаю, что это сложно, и, возможно, я много спрашиваю, но может ли кто-нибудь увидеть, что я делаю неправильно. Я не очень хорошо знаком с jQuery.parseJSON, поэтому любой совет был бы полезен, потому что я думаю, что схожу с ума!

Если я выражаюсь туманно или плохо объясняю, так и скажите... Я также поставил это на скрипку...http://jsfiddle.net/itakesmack/JSRt7/1/

ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ, ЭТО РАБОТАЕТ, ПОЭТОМУ НЕКОТОРЫЕ ЭЛЕМЕНТЫ МОГУТ ОТСУТСТВОВАТЬ ИЛИ НУЖНЫ БУДЬТЕ РАЗРАБОТАНЫ (или у меня могут быть другие ошибки... но я надеюсь, что нет ).

8
задан Salman A 21 April 2012 в 10:59
поделиться