将数据数组传递给jQuery函数

时间:2010-03-22 10:01:30

标签: jquery function arrays

这是故事......我有一个jQuery函数可以执行某些操作,这个函数经常被引用。其中一个输入参数是一个数组,这个数组数据是硬编码的,因此我想传递这样的数据:(这就是我用PHP做的方式)

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

而不是

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

那么如何使用我的jQuery函数实现这一点,如果可能的话,我希望这是一个单行程。

修改

也许我的例子有点误导,再看看数组索引。我发送的数组是一个关联数组。

总之我在函数之前不需要任何变量,我希望数组直接在函数参数中硬编码,如我给出的第一个例子所示。

: - )

5 个答案:

答案 0 :(得分:7)

我重读了您编辑过的问题,您的答案在javascript对象中,就像其他语言的字典或哈希一样:

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

对于你的回调,只需将其作为现场声明的文字传递:

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

答案 1 :(得分:1)

以下是您的意思:

    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/

答案 2 :(得分:1)

查看数组的JSON格式......

somefunction({'key1':'value', 'key2':'value'});

答案 3 :(得分:0)

我不完全确定你在这里问的是什么,但我会给它一个回答。如果你在多个地方引用这个数组,那么最好先将它定义为常量:

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

如果您只引用此硬编码数组一次,则将其作为函数调用中声明的数组文字传递给jQuery函数:

    myFunction(['a', 'b', 'c']);

答案 4 :(得分:0)

JavaScript没有关联数组。您可以通过常规数组和对象的组合获得您所要求的内容:

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

有一种名为JSON的数据格式,它使用JavaScript语法。由于您似乎使用PHP并且PHP具有内置函数来生成JSON(在PHP手册中查找json_encode()),因此它可以是一个非常简单的任务:将您的PHP数据结构编码为JSON并使用它来自JavaScript。