Ich muss eine Funktion erstellen, die einen neuen Wert in ein leeres Array eingibt, und der Wert bleibt dann im Array, auch wenn sich der Wert ändert. Lassen Sie mich mit einem Beispiel erklären, und ich habe so weit:Funktion zum Wiederholen von Werten in einem Array mit Javascript
var arr = [];
arr.unshift("f");
if (arr.length > 6) {
arr.pop();
}
console.log(arr);
arr.unshift("e");
if (arr.length > 6) {
arr.pop();
}
console.log(arr);
arr.unshift("d");
if (arr.length > 6) {
arr.pop();
}
console.log(arr);
arr.unshift("c");
if (arr.length > 6) {
arr.pop();
}
console.log(arr);
arr.unshift("b");
if (arr.length > 6) {
arr.pop();
}
console.log(arr);
arr.unshift("a");
if (arr.length > 6) {
arr.pop();
}
console.log(arr);
arr.unshift("z");
if (arr.length > 6) {
arr.pop();
}
console.log(arr);
Hier im leeren Array wird in der ersten Position ein neuer Wert eingegeben und bleibt in dem Array arr. Das bekomme ich in der Konsole:
(6) ["f"]
(6) ["e", "f"]
(6) ["d", "e", "f"]
(6) ["c", "d", "e", "f"]
(6) ["b", "c", "d", "e", "f"]
(6) ["a", "b", "c", "d", "e", "f"]
(6) ["z", "a", "b", "c", "d", "e"]
was genau ich erreichen möchte. Anstelle dieser Werte brauche ich eine Var, die regelmäßig aktualisiert wird.
Mein Ziel ist es, den obigen Code zu reduzieren und es zu einer Funktion machen, konnte aber nichts hilfreich finden. Gibt es auch eine Möglichkeit, wie der eingegebene Wert im Array bleibt, selbst wenn er aus der Variablen entfernt wird?
Jede Hilfe wird sehr geschätzt werden !!!!!
Vielen Dank im Voraus
Setzen Sie tun können, um 'if' Zustand im Inneren des' function' selbst, sondern nur vor der Rückkehr. Dein Code sollte funktionieren. Können Sie mit '<>' ein überprüfbares Code-Snippet erstellen? – gurvinder372
Danke für die Antwort. Die Funktion macht ihren Job, aber wenn ich den Wert newValue ändere, "speichert" das Array den zuvor eingefügten Wert nicht (was vernünftig ist, da es keinen Code zum "Speichern" des vorherigen Wertes gibt). Ich dachte an die map() von forEach() -Methoden, aber sie geben ein neues Array zurück, immer noch basierend auf dem vorherigen Array, so dass die von Zeit zu Zeit eingefügten Werte nicht gespeichert/gespeichert werden. –
Es ist nicht klar, was Sie mit * meinen, da es keinen Code gibt, um den vorherigen Wert zu speichern *. Ihr 'arr' ist lokal definiert. Deklarieren Sie Ihren arr außerhalb der Funktion. – gurvinder372