2013-03-31 2 views
0

Если у меня есть следующие инициализируется ... (FYI, в коде я основывая его прочь, обе переменные создаются динамически)Доступ к многомерный массив, используя один одномерный массив в JavaScript,

// Start of Code that MUST stay unchanged. 
var myPrimaryArray = [["Potato","Walrus"],42,[["Your father was a hamster", "Target"],362]]; 
var locationArray = [2][0][1]; 
// End of Code that MUST stay unchanged 

//What to put here to get "Target"? 

Как я могу сделать это «Target», только с этими двумя переменными? (. Не зная глубину в любой массив, я должен идти впереди времени)

+0

Я обновил свой ответ, проверьте его! –

+0

Я ценю обновленный ответ, но вы все еще меняете один из начальных варов, извините, если я неясен, ... суть в том, что это начальные вары, с которыми мне нужно начинать. Оба эти вары будут динамически генерироваться, поэтому я не могу их изменить. Как таковое, это предполагает, что я фактически не знаю, каково значение в массиве местоположения или фактическое расположение myPrimaryArray. Все, что я знаю, это то, что в массиве location содержится позиция, в которой находится myPrimaryArray «Target». Если бы я мог сделать что-то вроде MyNewVar = myPrimaryArray [locationArray], это было бы здорово, но я не думаю, что это работает. – liljoshu

ответ

0

У вас есть решение (измененный текст для stackoverflow, надеюсь, он по-прежнему работает для тех, кто ищет решение, подобное моему.) Это громоздко, но оно должно работать.

// Start of Code that MUST stay unchanged. 
var myPrimaryArray = [["Potato","Walrus"],42,[["Your father was a hamster", "Target"],362]]; 
var locationArray = [2][0][1]; 
// End of Code that MUST stay unchanged 


getArrayObjectWithLocationArray(myPrimaryArray,locationArray) 



function getArrayObjectWithLocationArray(myArray, myLocationArray){ 
var myArray = stringToPositionArray(myString); 
if (myLocationArray.length > 1}{ 
    return getPanelWithPositionString([myArray[myLocationArray[0]], myLocationArray.splice(0,1)) 
} else { 
    return myArray[stringToPositionArray[0]]; 
} 

} 
3

Hopes это вернет target

var myPrimaryArray = [["Potato","Walrus"],42,[["Your father was a hamster", "Target"],362]]; 
var locationArray = myPrimaryArray[2][0][1]; 
alert(locationArray); 

выход:

Target 

Чтобы быть весело, проверьте ваш Код:

locationArray = myPrimaryAr ray [2] [0] [1];

+1

+1, даже если ваша грамматика сосет (надеется?). :-) – RobG

+0

Я ценю предложение , но код, который я предоставляю, - это то, с чем мне приходится работать (это пример того, что я не могу изменить). Дело в том, что мне нужно получить «Target» из myPrimaryArray, используя locationArray в качестве предоставляемого. locationArray - это не вариант для меня. – liljoshu

+0

@ RobG ha ha!, Извините, за мой плохой английский! –

Смежные вопросы