未捕获的TypeError:undefined不是行上的函数var new_arr = filtered.split(',');

时间:2014-09-18 07:35:42

标签: javascript jquery arrays

我写了一点点javascript并且我收到了错误,通常它从未发生过,但我仍然不知道我在这里做错了什么是我的代码 `

var stu = ['ron','john','johnny','roni','rob','bob'];
        $('#studentName').keyup(function(){
            var student = $('#studentName').val();
            alert(findStu(student));
        });
        function findStu(val){
            var filtered = stu.filter(function(str){
                return str.indexOf(val) != -1;
            });
            var new_arr = filtered.split(',');
            var html = "";
            new_arr.foreach(function(element,index,array){
                console.log('a['+index+']='+element);
            });
        }

`

我尝试做的是当有人打字r我的代码应该返回时,ron,roni,rob'一些自动建议,但我在第var new_arr = filtered.split(',') \\ undefined is not a function

上收到错误

1 个答案:

答案 0 :(得分:2)

如果您要查看推荐的字符串结果,请参阅“ron,roni,rob'”,请检查以下代码:

var stu = ['ron','john','johnny','roni','rob','bob'];
    $('#studentName').keyup(function(){
        var student = $('#studentName').val();
        alert(findStu(student));
    });
    function findStu(val){
        //Filters list of students and then create a string of its elements
        var filtered = stu.filter(function(str){
            return str.indexOf(val) != -1;
        }).join();
        var html = "";
        new_arr.foreach(function(element,index,array){
            console.log('a['+index+']='+element);
        });
    }

<强>解释

.filter()函数将根据您的条件返回一系列已过滤的元素。 Documentation here

然后

.join()将加入数组。 Documentation here