Wäre dies der richtige Weg seiner Elemente auszuwählen, die ein „.subj“ haben zu beenden?

StackOverflow https://stackoverflow.com/questions/4272226

  •  28-09-2019
  •  | 
  •  

Frage

Ich habe diesen Code:

for(var i=0; i < localStorage.length; i++) {
   var subjects = [];

   var key, value;
   key = localStorage.key(i);
   value = localStorage.getItem(key);

   var keysplit = key.split(".");

   if(keysplit[keysplit.length] == "subj") {
       subjects.push(value);
   }

}

Ich versuche, alle Schlüssel zu wählen, die eine .subj haben am Ende, aber das scheint nicht zu funktionieren. Irgendwelche Ideen?

War es hilfreich?

Lösung

Die length Eigenschaft gibt die Anzahl der Elemente im Array, und als der Index Null ist basierend gibt es kein Element mit dem Index.

Verwenden length - 1 das letzte Element zu erhalten:

if (keysplit[keysplit.length - 1] === "subj") {

Andere Tipps

Weitere Möglichkeiten:

if(key.substr(key.lastIndexOf('.')) == ".subj")
//or
var suffix = '.subj';
if(key.lastIndexOf(suffix) == key.length - suffix.length)

Siehe auch: lastIndexOf

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top