I am trying to pass an array value into a function as an arg and then use it's value to reference another array. I know that sounds a bit complicated but I am doing it for a reason ;) I THINK that showProject thinks that project1 is a string as it returns only 'p' and ... Any help appreciated?
var projects = ["project1","project2"];
var project1 = ["image1","image2"];
var project2 = ["image1","image2"];
function showProject(arr){
console.log(arr[0]);
}
//why isn't this showing image 1 in project 1 array?
showProject(projects[0]);
Fiddle> http://jsfiddle.net/4ryLT/
5 Answers 5
This seems to be what you want:
var project1 = ["image1","image2"];
var project2 = ["image1","image2"];
var projects = [project1,project2];
function showProject(arr){
alert(arr[0]);
}
showProject(projects[0]);
Set arrays as elements of projects array.
1 Comment
is var projects referring to the other two variables?
If so, remove the "" and put them in a different order
var project1 = ["image1","image2"];
var project2 = ["image1","image2"];
var projects = [project1,project2];
function showProject(arr){
alert(arr[0]);
}
showProject(projects[0]);
Comments
var projects = ["project1","project2"];
var project1 = ["image1","image2"];
var project2 = ["image1","image2"];
function showProject(arr){
console.log(eval(arr)[0]);
}
showProject(projects[0]);
Comments
I think you mean this
var projects = [];
projects["project1"] = ["image1","image2"];
projects["project2"] = ["image1","image2"];
function showProject(arr){
alert(arr[0]);
}
showProject(projects["project1"]);
Comments
without change your logic:
var projects = ["project1","project2"];
var project1 = ["image1","image2"];
var project2 = ["image1","image2"];
function showProject(arr){
console.log(eval(arr)[0]);
}
showProject(projects[0]);
byee
"project1"to the function which correclty alerts"p". So what is the question?project1neitherproject2are being used insideshowProject().