我不明白这个子串错误

时间:2013-11-30 11:47:41

标签: javascript

我注意到FireFox在我的代码中报告错误,但无法理解错误。

  

[13:36:02.868] TypeError:arr [i] [0] .substring不是函数@ file:///home/asdf/Desktop/app/dic.js:10

这似乎指向了ss变量行。 AFAIK,我正确使用它(即在字符串的末尾)。这里是代码片段......

// quick array example...
var arr = [
["tammikuuta", "January"], 
["helmikuuta", "February"], 
["maaliskuuta", "March"]
]; 

function userInput(val){

var result = document.getElementById('result');
result.innerHTML = '';

if(val && val.length > 2){
    for(var i = 0; i < arr.length; i++){
        var ss = arr[i][0].substring(0,val.length); // ss (SubString) checks the number of characters currently typed 
        if(ss.toLowerCase() !== val.toLowerCase()){ // check substring against the user input
            continue;
        }
        else { // display the output...
            var res = arr[i][1]; 
            var reg = eval('/'+val+'/i');
            var found = arr[i][0].replace(reg, '<span class="r">$&<\/span>');
            if(result.innerHTML.length > 0){
                result.innerHTML += ',<br />';
            }
            result.innerHTML += found + '<b>' + ' > ' + '</b>' + '<span class="g">' + res + '<\/span>';
        }
    }
}
else {return;}
}

请指教?

已编辑:请求更多代码。

1 个答案:

答案 0 :(得分:2)

试试这个

 var ss = arr[i][0].toString()
ss = ss.substring(0,val.length);