2010-11-24 36 views
0

我有这样的代码:这是选择具有“.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); 
    } 

} 

我想选择所有有.subj结局的关键,但这似乎并没有工作。有任何想法吗?

+0

你想keysplit一个变种太多,大概 – 2010-11-24 22:42:39

+0

@seanizer我只是这样做,它并没有帮助 – chromedude 2010-11-24 22:44:38

回答

1

length属性返回数组中项目的数量,并且由于索引为零,因此没有该索引的项目。

使用length - 1得到最后一个项目:

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

其他可能性:

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

参见:lastIndexOf