¿Sería esto de la manera correcta para seleccionar los elementos que tienen un “.subj” final?
-
28-09-2019 - |
Pregunta
Tengo este código:
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);
}
}
Estoy tratando de seleccionar todas las teclas que tienen un .subj terminando, pero esto no parece funcionar. Algunas ideas?
Solución
La propiedad length
devuelve el número de elementos de la matriz, y como el índice es cero basado no hay ningún elemento con ese índice.
Uso length - 1
para obtener el último elemento:
if (keysplit[keysplit.length - 1] === "subj") {
Otros consejos
Otras posibilidades:
if(key.substr(key.lastIndexOf('.')) == ".subj")
//or
var suffix = '.subj';
if(key.lastIndexOf(suffix) == key.length - suffix.length)
Ver: lastIndexOf
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow