Javascript setzen-Werte im zweidimensionalen array
Gibt es einen besseren Weg, um erstellen Sie ein zweidimensionales array in javascript als diese?
var divcookies = new Array();
divcookies[0] = new Array(2);
divcookies[0][0] = name;
divcookies[0][1] = value;
Diese Ergebnisse in einem zwei-dimensionalen array mit ungültigen Daten Hinzugefügt in der Mitte. Ich erwarte, dass ein array wie dieses.
(name1, value1, name2, value2, name3, value3)
Stattdessen bekomme ich diese.
(name1, value2, ,name2, value2, name3, value3)
Ich weiß wirklich nicht, wenn Sie, dass zusätzliche fehlerhafte Daten Hinzugefügt, weil, wenn ich die Warnung bei der Schleife füllt das array, es scheint nur eine Schleife über 3 mal um die drei Paare von Werten erwartet.
So, ich bin auf der Suche nach einem anderen Weg, um die zwei-dimensionales array.
function get_cookies_array() {
var divcookies = new Array();
if (document.cookie && document.cookie != '') {
var split = document.cookie.split(';');
for (var i = 0; i < split.length; i++) {
var name_value = split[i].split("=");
name_value[0] = name_value[0].replace(/^ /, '');
if ( name_value[0].search("compage") != -1 ) {
alert (divname+" "+ divarray);
divcookies[i] = new Array(2);
divcookies[i][0] = decodeURIComponent(name_value[0]);
divcookies[i][1] = decodeURIComponent(name_value[1]);
}
}
}
alert (divcookies);
return divcookies;
}
jsBin http://jsbin.com/iwuqab
Nein, es ist nicht der beste Weg. Aber was wollen Sie tun? Hier ist ein cookie-Skript quirksmode.org/js/cookies.html
InformationsquelleAutor user823527 | 2011-08-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre 2-dimensionalen array ist korrekt eingerichtet (gut, die
[]
bevorzugt stattnew Array()
). Das eigentliche problem ist nur, das die Anzeige von array mitalert(divcookies)
. Hierdivcookies
wird in einen string umgewandelt mit Hilfe der vordefinierten MethodetoString()
. Diese Methode erstellt eine Komma-getrennte Liste von array-Elemente ab dem ersten element zum letzten element. Wenn einige Elemente dazwischen sind nicht gesetzt, wird ein leerer string ausgegeben. In Ihrem Fall, Sie sind nicht die Zuordnung zu diesen Indizesi
vondivcookies
für diename_value[0].search("compage") == -1
. Dies sind die Lücken,,
in der alarmierte Liste.InformationsquelleAutor Jiri Kriz
Ist die empfohlene Methode zum erstellen von arrays in JS ist NICHT zu verwenden, die 'neue' Methode. Stattdessen tun:
Diese notation befreit Sie von zu müssen element angeben zahlen im Voraus. Sobald eine variable schon initialisiert ein array, können Sie eine beliebige index, den Sie möchten. Der Nachteil (unabhängig davon, welche Schreibweise Sie verwenden) ist, dass Sie zu initialisieren jedes sub-array.
InformationsquelleAutor Marc B