Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
键上的javascript数组对象过滤器_Javascript_Jquery - Fatal编程技术网

键上的javascript数组对象过滤器

键上的javascript数组对象过滤器,javascript,jquery,Javascript,Jquery,我有一个javascript数据库的格式 var db = [ { "id": "500020", "type": "0", "address": "", "firstName": "bob", "lastName": "builder", "title": "Mr", "managerId": "0", "officeId": "222", "cellPhone": "", "officePhone": "001221212121", "email": "myemail@domain.com"

我有一个javascript数据库的格式

var db = [
{ "id": "500020", "type": "0", "address": "", "firstName": "bob", "lastName": "builder", "title": "Mr", "managerId": "0", "officeId": "222", "cellPhone": "", "officePhone": "001221212121", "email": "myemail@domain.com", "Hours": "", "Custface": "", "Hearloop": "", "Parking": "", "Toilets": "", "Wheelchair": "", "OfficeType": "", "lat": "", "lon": "", "Company": "mycompany","image": "1111" },
{ "id": "500025", "type": "0", "address": "", "firstName": "danny", "lastName": "mccanny", "title": "Mr", "managerId": "0", "officeId": "0", "cellPhone": "", "officePhone": "012545251", "email": "Danny@mccanny.com", "Hours": "", "Custface": "", "Hearloop": "", "Parking": "", "Toilets": "", "Wheelchair": "", "OfficeType": "", "lat": "", "lon": "", "Company": "dannycompany","image": "500025" }
]
然后我像这样引用它

this.employees = db;
在一个函数中,当用户像这样搜索时,我会过滤它

    var employees = this.employees.filter(function (element) {
        var fullname = element.firstname + " " + element.lastname;
        return fullname.tolowercase().indexof(searchkey.tolowercase()) > -1;
    });
问题是它正在搜索对象的每个元素,而不仅仅是firstName和lastName


有人能告诉我如何使用javascript或jquery过滤名字吗?我们可以使用jquery grep方法过滤数据,代码将

var employees = $.grep(this.employees, function(element){
    var fullname = element.firstName + " " + element.lastName;
    return fullname.toLowerCase().indexOf(searchkey.toLowerCase()) > -1;
})

首先…键入错误…在element.firstName、element.lastName和function中是indexOf,而不是indexOf..,toLowerCase,而不是toLowerCase它正在搜索对象的每个元素-您是指对象的每个属性吗?你认为这到底发生在哪里?它显然在搜索您提到的属性的连接。请提供足够的代码来复制此问题。语句和错误纠正后显示的代码相反,错误首先应该抛出错误。@Rakesh_Kumar还指出,JS区分大小写。所以firstName并不等同于firstName等等。@tramp-man你想要这样的东西吗