Будет ли это правильный способ выбрать элементы, которые имеют «.subj», заканчивая?
-
28-09-2019 - |
Вопрос
У меня есть этот код:
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, но это не работает. Есть идеи?
Решение
То length
Свойство возвращает количество элементов в массиве, и поскольку индекс нулевой на основе нуля на основе элемента с этим индексом нет.
Использовать length - 1
Чтобы получить последний пункт:
if (keysplit[keysplit.length - 1] === "subj") {
Другие советы
Другие возможности:
if(key.substr(key.lastIndexOf('.')) == ".subj")
//or
var suffix = '.subj';
if(key.lastIndexOf(suffix) == key.length - suffix.length)
Видеть: lastIndexOf
Не связан с StackOverflow