JS: Adressierung dynamisch erstellter Arrays

Gabor Zins

Grünschnabel
Hi there,

habe dieses Forum bereits auf meine Anfrage durchsucht und konnte leider nichts finden.
Das Problem:

Ich erstelle eine dynamische anzahl an Arrays in einer JS Funktion:

Code:
        function createPicGalArray (array,amount)
        {
	array = new Array (eval(amount));
	}

Jetzt versuche ich in einer weiteren Funktion auf die dynamisch generierten Arrays zuzugreifen:

Code:
        function addPicGalArrayItem (array,item) 
        {
        array.push(item);
        }

Leider ohne Erfolg :confused:

Habt Ihr vielleicht einen Ansatz?

Vielen Dank im Voraus

Gabor
 
Also 1. brauchst du amount nicht durch eval zu schicken, amount als Parameter reicht (siehe: SelfHTML JS Array Objektreferenz).

2. denke ich, dass per push() an das schon vorhandene Array mit amount Einträgen item angehängt wird.

Mein Vorschlag:
Code:
function createPicGalArray (array)
{
    array = new Array ();
}
 
Vielen Dank fuer die rasche Antwort ;-)

Hab's versucht, doch stellt sich mir leider noch immer das selbe Problem:

Code:
function addPicGalArrayItem(array){
        array.push('something here');
	alert(array.length);
}

der Parameter 'array' wird hier als String interpretiert und ich kann mein array ueber o.g. Funktion nicht ansprechen :rolleyes: Hast Du noch 'nen Vorschlag? :)

mfg
 
Folgendes funktioniert bei mir:
HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
	"http://www.w3.org/TR/html4/loose.dtd">
<html>
	<head>
		<title>JS: Array</title>
		<script language="JavaScript" type="text/javascript">
			var arr = new Array();
		
		    function createPicGalArray (gal)
		    {
		    	arr[gal] = new Array ();
		    }
			 
			function addPicGalArrayItem(gal)
			{
				if(arr[gal])
				{
					arr[gal].push('something here');
					alert(arr[gal].length);
				}
			}
			
			window.onload = function() { createPicGalArray('foo'); }
		</script>
	</head>
	<body>
		<h1 onClick="addPicGalArrayItem('foo');">Foo</h1>
	</body>
</html>
 
Das ist spitze. laeuft auch bei mir, wenn ich es aus meiner Applikation herausnehm'. Sobald ich's einfuege, funktioniert es nicht mehr. Hab' jetzt eine Stunde meinen Code auf Herz und Nieren geprueft...NIX.

Dank Dir trotzdem. Wahrscheinlich wird mir Dein Code weiterhelfen, wenn ich das 'Komma' :) gefunden habe , das alles aufhaelt.

mit freundlichen Gruessen

Gabor
 

Neue Beiträge

Zurück