javascript: übergeben Sie ein array an eine Funktion
hier ist mein javascript code:
var my_array = new Array();
my_array[0] = "a";
my_array[0] = "b";
my_array[0] = "c";
print_array(my_array);
function print_array(arr)
{
alert(arr);
}
Aber es funktioniert nicht, weil ich nicht das array übergeben, um die Funktion. Also, wie kann ich einen array an javascript-Funktion?
EDIT:
Nevermind. Ich fand die Lösung.
Versteckte Ursache dafür ist schlechte Praxis und übergibt das array als string:
Wenn jemand übergeben Sie ein array an die Funktion, verwenden Sie zuerst diese: JSON.stringify() und javascript werden in der Lage sein zu analysieren, ein array.
InformationsquelleAutor user1745558 | 2012-10-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist das problem der Zuordnung jedes element mit index
0
, so dass Sie sich gegenseitig zu überschreiben.Den rest des Codes sieht gut aus. Sie können übergeben ganze arrays oder andere Objekte, die für diese Angelegenheit, um eine Funktion in genau der Weise, die Sie gezeigt haben in Ihrem code.
Wenn Sie warnen, javascript verketten Sie den array in einen kommagetrennten string für die einfache Anzeige.
my_array.push("a", "b", "c")
Oder
var my_array = ["a", "b", "c"];
wie in einer anderen Antwort...nicht sicher, warum dies so war downvoted - sieht ok für mich
Oder
'abc'.split('')
🙂Ich mag, dass man, ich glaube, du Verdienst einen Preis dafür.
InformationsquelleAutor Billy Moon
Versuchen, diesen code statt:
Sollten Sie eine Funktion definieren, bevor Sie anrufen können Sie es als guten Programmierstil.
Beachten Sie auch die Reihenfolge Ihrer Elemente, der er zugeordnet ist, Sie setzen alles auf 0, und man sollte Sie auf 1, 2 usw.
Guter Punkt, David, hochziehen. Vergessen. Aktualisiert, um es über eine gute Praxis in der Wirtschaft.
Sie bestimmen nur noch die Funktion, bevor Sie es nennen, wenn es einer Variablen zugewiesen ist, etwa so:
var myFunc = function(){ alert(123) }
InformationsquelleAutor jcolebrand
Erweitern Billy Mond die Antwort
Definieren Sie das array wie dieses:
Und so:
InformationsquelleAutor andlrc
Ihnen wurden mit dem gleichen index
0
JS Fiddle
InformationsquelleAutor codingbiz
a = "123".split("");console.log(a[0]+a[2])
gibt 13?okay, es ist ein beliebter Weg, (ich sehe es in vielen js-Bibliotheken) zum definieren von arrays von Zeichenfolgen.
InformationsquelleAutor roberkules
console.log
um Objekte anzuzeigen anstattalert
Alles in allem ist hier ein vereinfachter code:
aber es ist gute Praxis, dies zu tun, und vermeidet JSLint-Warnungen.
Ich Stimme dir zu
kann ich das array an eine Funktion in einigen anderen Seite ?
JS läuft nur in der aktuellen Seite. Es sei denn, Sie machen es fortbestehen durch einige Speicher-oder bridging-Mechanismus, dann nicht.
InformationsquelleAutor Joseph
Hinweis: dieses
//---------------------------
html-Seite
können, rufen Sie die Funktion mit jedem Args
oder
InformationsquelleAutor ali.b.y
fiddle
InformationsquelleAutor Thielicious