Массив передачи данных к функции jQuery

Вот история... У меня есть функция jQuery, которая делает что-то, на эту функцию ссылаются очень регулярно. Один из входных параметров является массивом, эти данные массива трудно кодируются, и таким образом я хочу передать данные как это: (это - то, как я сделал бы это с помощью PHP),

myFunction(Array("url"=>"abc.com","example"=>"hello_world"));

Вместо

$arr=Array("url"=>"abc.com","example"=>"hello_world");
myFunction($arr);

Таким образом, как я достигаю этого со своей функцией jQuery, я хочу, чтобы это было одним лайнером если возможный.

Править

Возможно, мой пример был немного вводящим в заблуждение, смотрите на индексы массива снова. Массив, который я отправляю, является ассоциативным массивом.

Короче говоря я не хочу переменных перед своей функцией, я хочу, чтобы массив был hardcoded непосредственно в параметре функции, как предложено в первом примере, который я дал.

:-)

5
задан Ben Everard 22 March 2010 в 10:17
поделиться

5 ответов

Я перечитал ваш отредактированный вопрос, и ваш ответ находится в объекте javascript, во многом как словари или хэши на других языках:

    { first_key: '1', second_key: '2', third_key: '3' };

А для обратного вызова просто передайте его как литерал, объявленный на месте:

    myFunction({ first_key: '1', second_key: '2', third_key: '3'});
7
ответ дан 14 December 2019 в 01:05
поделиться

Вот пример, если это то, что вы имеете в виду:

    var arr = [ "one", "two", "three", "four", "five" ];

    jQuery.each(arr, function() {
          $("#" + this).text("Mine is " + this + ".");
           return (this != "three"); // will stop running after "three"
       });

//Source http://api.jquery.com/jQuery.each/
1
ответ дан 14 December 2019 в 01:05
поделиться

Посмотрите на форматирование JSON для вашего массива ...

somefunction({'key1':'value', 'key2':'value'});
1
ответ дан 14 December 2019 в 01:05
поделиться

Я не совсем понимаю, о чем вы спрашиваете, но постараюсь ответить. Если вы ссылаетесь на этот массив более чем в одном месте, то, вероятно, лучше сначала определить его как константу:

    ARRAY = ['a', 'b', 'c']
    myFunction(ARRAY);
    myFunction2(ARRAY);

Если вы ссылаетесь на этот жестко закодированный массив только один раз, то передайте его в функцию jQuery как объявленный литерал массива в вызове функции:

    myFunction(['a', 'b', 'c']);
0
ответ дан 14 December 2019 в 01:05
поделиться

В JavaScript нет ассоциативных массивов. Вероятно, вы сможете получить то, о чем просите, с помощью комбинации обычных массивов и объектов:

var foo = [
    {
        url: "abc.com",
        example: "hello_world"
    },
    {
        url: "example.net",
        example: "example"
    }
];

Существует формат данных, называемый JSON, который использует синтаксис JavaScript. Поскольку вы, похоже, используете PHP, а в PHP есть встроенные функции для генерации JSON (найдите json_encode () в руководстве по PHP), это может быть очень простой задачей: закодировать структуру данных PHP как JSON и использовать ее как взято из JavaScript.

0
ответ дан 14 December 2019 в 01:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: