Будет ли это правильным способом выбора элементов с окончанием ".subj"? - PullRequest
0 голосов
/ 25 ноября 2010

У меня есть этот код:

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

}

Я пытаюсь выбрать все клавиши с окончанием .subj, но, похоже, это не работает. Есть идеи?

Ответы [ 2 ]

1 голос
/ 25 ноября 2010

Другие возможности:

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

См .: lastIndexOf

1 голос
/ 25 ноября 2010

Свойство length возвращает количество элементов в массиве, и поскольку индекс равен нулю, элемент с таким индексом отсутствует.

Используйте length - 1, чтобы получить последний элемент:

if (keysplit[keysplit.length - 1] === "subj") {
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...