2010-11-24 30 views
0

Je possède ce code:Serait-ce la bonne façon de sélectionner les éléments qui ont une fin ".subj"?

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); 
    } 

} 

Je suis en train de sélectionner toutes les clés qui ont une fin de .subj, mais cela ne semble pas fonctionner. Des idées?

+0

vous voulez faire un keysplit var aussi, probablement –

+0

@seanizer je viens fait cela et ça n'a pas aidé – chromedude

Répondre

1

La propriété length renvoie le nombre d'éléments dans le tableau et, étant donné que l'index est zéro, aucun élément n'est associé à cet index.

Utilisez length - 1 pour obtenir le dernier élément:

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

ahh ... merci, maintenant ça marche – chromedude

1

Autres possibilités:

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

Voir: lastIndexOf