这是故事......我有一个jQuery函数可以执行某些操作,这个函数经常被引用。其中一个输入参数是一个数组,这个数组数据是硬编码的,因此我想传递这样的数据:(这就是我用PHP做的方式)
myFunction(Array("url"=>"abc.com","example"=>"hello_world"));
而不是
$arr=Array("url"=>"abc.com","example"=>"hello_world");
myFunction($arr);
那么如何使用我的jQuery函数实现这一点,如果可能的话,我希望这是一个单行程。
修改
也许我的例子有点误导,再看看数组索引。我发送的数组是一个关联数组。
总之我在函数之前不需要任何变量,我希望数组直接在函数参数中硬编码,如我给出的第一个例子所示。
: - )
答案 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。