Questo sarebbe il modo giusto per selezionare gli elementi che hanno un “.subj” fine?
-
28-09-2019 - |
Domanda
ho questo codice:
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);
}
}
Sto cercando di selezionare tutte le chiavi che hanno un .subj fine, ma questo non sembra funzionare. Tutte le idee?
Soluzione
La proprietà length
restituisce il numero di elementi nella matrice, e l'indice è zero basato non c'è elemento con tale indice.
Usa length - 1
per ottenere l'ultimo elemento:
if (keysplit[keysplit.length - 1] === "subj") {
Altri suggerimenti
Altre possibilità:
if(key.substr(key.lastIndexOf('.')) == ".subj")
//or
var suffix = '.subj';
if(key.lastIndexOf(suffix) == key.length - suffix.length)
See: lastIndexOf
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow