Here's the s开发者_如何学运维tory... I have a jQuery function that does something, this function is referenced very regularly. One of the input parameters is an array, this array data is hard coded and thus I want to pass the data like this: (this is how I would do it using PHP)
myFunction(Array("url"=>"abc.com","example"=>"hello_world"));
Instead of
$arr=Array("url"=>"abc.com","example"=>"hello_world");
myFunction($arr);
So how do I achieve this with my jQuery function, I want this to be a one liner if possible.
Edit
Maybe my example was a bit misleading, take a look at the array indexes again. The array I am sending is an associative array.
In short I do not want any variables before my function, I want the array to be hardcoded directly in the function parameter as suggested in the first example I gave.
:-)
I reread your edited question, and your answer is in the javascript object, much like dictionaries or hashes in other languages:
{ first_key: '1', second_key: '2', third_key: '3' };
And for your callback, just pass it in as a literal declared on the spot:
myFunction({ first_key: '1', second_key: '2', third_key: '3'});
Here is example if this is what you mean:
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/
Look into JSON formatting for your array...
somefunction({'key1':'value', 'key2':'value'});
I'm not entirely sure what you're asking here, but I'll give answering it a shot. If you're referencing this array in more than one place then it's probably best to define it as a constant first:
ARRAY = ['a', 'b', 'c']
myFunction(ARRAY);
myFunction2(ARRAY);
If your only referencing this hard-coded array once, then pass it into the jQuery function as an array literal declared in the function call:
myFunction(['a', 'b', 'c']);
JavaScript does not have associative arrays. You can probably get what you are asking for with a combination of regular arrays and objects:
var foo = [
{
url: "abc.com",
example: "hello_world"
},
{
url: "example.net",
example: "example"
}
];
There is a data format called JSON that uses JavaScript syntax. Since you seem to be using PHP and PHP has builtin functions to generate JSON (find json_encode() in the PHP manual) it can be a very simple task: encode your PHP data structure as JSON and use it as is from JavaScript.
精彩评论