dipps
Goto Top

JavaScript aus funktion mit return 2 Array zurück geben

JavaScript aus funktion mit return 2 Array zurück geben

Hallo ich habe eine funktion in Javascript die 2 Arrays bildet.
am ende möchte ich mit reurn beide Arrays ausgeben
so in der Art:
var erg=dae(url);

ergmüsste dann noch mal getrennt werden in
newurl & zahlen

in der Funktion habe ich array a4 was dann newurl sein soll und zah was dann zahlen sein soll.

Content-Key: 138218

Url: https://administrator.de/contentid/138218

Printed on: April 19, 2024 at 21:04 o'clock

Member: nxclass
nxclass Mar 15, 2010 at 09:04:59 (UTC)
Goto Top
Verstehe nicht so ganz was Du schreibst - aber evtl. hilft das ja:
erzeuge ein Objekt ...
return { 'array1': aArray1,'array2': aArray2 };  
dann kannst du mit ...
var oReturn = ...
... = oReturn.array1;
... = oReturn.array2;
darauf zugreifen.
Member: Dipps
Dipps Mar 15, 2010 at 09:23:33 (UTC)
Goto Top
ich habe das es jetzt so
var oReturn=dme(image_url);


var newurl = oReturn.array1;
var image_url= new Array();
image_url=newurl;

var nzahl = oReturn.array2;
var tmpa =new Array();

alert(" "+nzahl.jojn(",")+" ");  
for(i=0;i<nzahl.length;i++)
{
z =parseInt(nzahl[i]);
tmpa[tmpa.legth]=image_set[z];

}
var image_set = new Array();
image_set = tempa;
Aber mit oReturn gibt es keine rückmeldung
Member: Dipps
Dipps Mar 15, 2010 at 09:26:18 (UTC)
Goto Top
Als Fehler im IE kommt
newurl ist NULL oder kein Objekt
Member: nxclass
nxclass Mar 15, 2010 at 09:30:44 (UTC)
Goto Top
hast Du in der Funktion *dme()* auch die o.g. Zeile mit dem return eingefügt ?
Member: Dipps
Dipps Mar 15, 2010 at 09:33:53 (UTC)
Goto Top
oO ich hatte das alte return noch davor stehen danke schön
Member: Dipps
Dipps Mar 15, 2010 at 10:16:51 (UTC)
Goto Top
Ein ausschnitt von meinem Code
function dme(a1) // delete multiple entries (array)
  {
   var a2 = new Array();
   var zah= new Array();   
   var a3 = new Array();
   for(var i = 0; i < a1.length; i++)
    {
     if(typeof(a2[a1[i]]) == "undefined")  
      {
       a2[a1[i]] = true;
       a3[a3.length] = a1[i];
       zah[zah.length] = i;

      }
    }
   var a4 = new Array();
   for(var i = 0; i < a3.length; i++)
   {a4[a4.length] = a3[i]}
   
   return { 'array1': a4 ,'array2': zah };  
  }

var oReturn=dme(image_url);


var newurl = oReturn.array1;
alert(" "+newurl.jojn(",")+" ");  

var image_url= new Array();
image_url=newurl;

var nzahl = oReturn.array2;
var tmpa =new Array();

alert(" "+nzahl.jojn(",")+" ");  
for(i=0;i<nzahl.length;i++)
{
z =parseInt(nzahl[i]);
tmpa[tmpa.legth]=image_set[z];

}
var image_set = new Array();
image_set = tempa;


var anz=image_url.length;
alert(anz);
Wenn ich nun direkt das Array in einem alert ausgeben möchte dann springt das Alert nicht auf

Sprich es funktioiert doch noch nicht
Member: Dipps
Dipps Mar 15, 2010 at 12:10:42 (UTC)
Goto Top
die URL's die er anzeigen soll sagt er immer "undefined"
Member: Arano
Arano Mar 15, 2010 at 15:18:55 (UTC)
Goto Top
Hallöchen,

darf ich mal ganz einfach fragen warum du dir nicht einfach ein Array zurückgeben lässt ?
return new Array(a4, zah);

// Was sich dann doch auch wieder ganz leicht aufsplitten lassen sollte:
var aReturn delete_multiple_entries(aEntriesToDelete);
var verwendeDochMal = aReturn;
var VernuenftigeNamen = aReturn[1];

~Arano
Member: nxclass
nxclass Mar 16, 2010 at 07:35:43 (UTC)
Goto Top
... lese ich das richtig ? .jojn
Array.join();

warum du dir nicht einfach ein Array zurückgeben lässt ?
'objekt.wert' ist doch viel einfacher zu lesen / verstehen als 'array[1]' - oder nicht ?
Member: Arano
Arano Mar 16, 2010 at 18:32:19 (UTC)
Goto Top
Nabend

'objekt.wert' ist doch viel einfacher zu lesen / verstehen als 'array[1]' - oder nicht ?
Joa öhm.. dann machs doch beim Array genau so:
...
Mist !
...

Okay, hatte das ja nur so eingeworfen und wollte gerade mein "Beispiel" von oben erweitern mit "assoziativen Arrays".... ...stelle aber gerade fest das es in Javascript keine echten assoziativen Arrays gibt !

So, jetzt suche ich nen Weg meine Kopf wieder aus der Schlinge zu ziehen - finde aber gerade keinen face-smile
Ha, jetzt habe ich doch einen :-P
"Bei den Variablennamen macht das doch auch keinen unterschied mehr"

Nungut, "meine Frage" ist beantwortet und ne unterschied ob Objekt oder Array macht es anscheinend auch nicht also ziehe ich mich wieder zurück *fg*

Viel Erfolg noch
~Arano