键上的javascript数组对象过滤器

javascript array object filter on keys

本文关键字:对象 过滤器 数组 javascript      更新时间:2023-09-26

我有一个格式为的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;
    });

问题是它正在搜索对象的每个元素而不仅仅是CCD_ 1和CCD_。

有人能告诉我如何使用javascript或jquery

只过滤名字和姓氏吗

我们可以使用jquery grep方法来过滤数据,代码将是

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