javascript中对象键的抽象

javascript中对象键的抽象,javascript,jquery,function,Javascript,Jquery,Function,我正在尝试创建一个搜索函数,构建如下内容: function Search(array, key, query, target){ var search_string = new RegExp(query, "i"); var filtered_list = $.grep(array, function (value, index) { return (value.key.search(search_string) !=-1); }); $(ta

我正在尝试创建一个搜索函数,构建如下内容:

function Search(array, key, query, target){
    var search_string = new RegExp(query, "i");

    var filtered_list = $.grep(array, function (value, index) {
        return (value.key.search(search_string) !=-1);
    });
    $(target).empty(); 

    $.each(filtered_list, printListItem); 
}
问题在于关键变量和目标变量。我不知道如何声明它们以便在value.key.search和$target.empty;中使用;。如果我将它们声明为字符串,它将不起作用。例如:

var array = [{'name': 'ben'}, {'name':'kit'}];
var query = $(this).val();
var key = "name";
var target = "div#recipes";
Search(array, key, query, target);
这并不让我感到惊讶。。。但我想知道的是,我应该如何对函数进行抽象,包括键和目标值。谢谢

使用

var filtered_list = $.grep(array, function (value, index) {
    return (value[key].search(search_string) !=-1);
}); //           ↑   ↑