¿Sería esto de la manera correcta para seleccionar los elementos que tienen un “.subj” final?

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

  •  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?

¿Fue útil?

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
scroll top