为什么我不能过滤我的javascript/jquery对象

为什么我不能过滤我的javascript/jquery对象,javascript,jquery,arrays,object,Javascript,Jquery,Arrays,Object,我有一个javascript对象数组,如下所示: [ {"fname":"tim", "lname":"thompson", "user_id": "2", "route_id": "3", "route_day": "WED"}, {"fname":"john", "lname":"wilson", "user_id": "3", "route_id": "3", "route_day": "WED"}, {"fname":"george", "lname":"lane", "user_id"

我有一个javascript对象数组,如下所示:

[
{"fname":"tim", "lname":"thompson", "user_id": "2", "route_id": "3", "route_day": "WED"},
{"fname":"john", "lname":"wilson", "user_id": "3", "route_id": "3", "route_day": "WED"},
{"fname":"george", "lname":"lane", "user_id": "5", "route_id": "2", "route_day": "MON"}
]
我尝试使用filter函数过滤结果

function filterCustomerData(route,day) {

    var jsonCustData = JSON.parse(localStorage.getItem("db")); 

    console.dir(jsonCustData); // object array with 300+ objects
    console.log( "route is: " + route + " day is: " + day);// route is: 3 day is: WED

    var routes = jsonCustData.filter(function(ele, ind,arr){
        return ele.route_id == route && ele.route_day == day;
    });

    console.dir(routes); // Array[0]


    fillCustomerData(routes);
}
但每次我这样做,我都会得到一个空数组。我知道我一定做错了什么,但我不知道是什么


编辑:再次为我的错误道歉,这次我输入了完整的功能

缺少相等运算符,并且对象属性名称“Route_day”错误:


希望这对您有所帮助

您缺少一个相等运算符,并且您的对象属性名称“Route_day”错误:


希望这对您有所帮助

您缺少一个相等运算符,并且您的对象属性名称“Route_day”错误:


希望这对您有所帮助

您缺少一个相等运算符,并且您的对象属性名称“Route_day”错误:

希望这有帮助

  • 使用
    =
    代替
    =
  • 使用
    Route\u day
    代替
    Route\u day
  • var objArr=[
    {“fname”:“tim”,“lname”:“thompson”,“user_id”:“2”,“route_id”:“3”,“route_day”:“WED”},
    {“fname”:“john”,“lname”:“wilson”,“user_id”:“3”,“route_id”:“3”,“route_day”:“WED”},
    {“fname”:“george”,“lname”:“lane”,“user_id”:“5”,“route_id”:“2”,“route_day”:“MON”}
    ];
    var newobj=objArr.filter(函数(ele、ind、arr){
    控制台日志(ele);
    返回ele.route_id==“3”和&ele.route_day==“WED”;
    });
    console.log(newobj)
    
  • 使用
    =
    代替
    =
  • 使用
    Route\u day
    代替
    Route\u day
  • var objArr=[
    {“fname”:“tim”,“lname”:“thompson”,“user_id”:“2”,“route_id”:“3”,“route_day”:“WED”},
    {“fname”:“john”,“lname”:“wilson”,“user_id”:“3”,“route_id”:“3”,“route_day”:“WED”},
    {“fname”:“george”,“lname”:“lane”,“user_id”:“5”,“route_id”:“2”,“route_day”:“MON”}
    ];
    var newobj=objArr.filter(函数(ele、ind、arr){
    控制台日志(ele);
    返回ele.route_id==“3”和&ele.route_day==“WED”;
    });
    console.log(newobj)
    
  • 使用
    =
    代替
    =
  • 使用
    Route\u day
    代替
    Route\u day
  • var objArr=[
    {“fname”:“tim”,“lname”:“thompson”,“user_id”:“2”,“route_id”:“3”,“route_day”:“WED”},
    {“fname”:“john”,“lname”:“wilson”,“user_id”:“3”,“route_id”:“3”,“route_day”:“WED”},
    {“fname”:“george”,“lname”:“lane”,“user_id”:“5”,“route_id”:“2”,“route_day”:“MON”}
    ];
    var newobj=objArr.filter(函数(ele、ind、arr){
    控制台日志(ele);
    返回ele.route_id==“3”和&ele.route_day==“WED”;
    });
    console.log(newobj)
    
  • 使用
    =
    代替
    =
  • 使用
    Route\u day
    代替
    Route\u day
  • var objArr=[
    {“fname”:“tim”,“lname”:“thompson”,“user_id”:“2”,“route_id”:“3”,“route_day”:“WED”},
    {“fname”:“john”,“lname”:“wilson”,“user_id”:“3”,“route_id”:“3”,“route_day”:“WED”},
    {“fname”:“george”,“lname”:“lane”,“user_id”:“5”,“route_id”:“2”,“route_day”:“MON”}
    ];
    var newobj=objArr.filter(函数(ele、ind、arr){
    控制台日志(ele);
    返回ele.route_id==“3”和&ele.route_day==“WED”;
    });
    

    console.log(newobj)
    JS区分大小写,
    route\u day
    !=
    Route\u day
    同样
    ele.Route\u id=“3”
    应该是
    ele.Route\u id=“3”
    答案在@RoryMcCrossan comments中对不起,这是个错误,但语法错误并不是真正的问题。这些都是因为我急于把它打出来。@user3314802,那么问题出在哪里呢?我的答案中的一小段是有效的。还有其他问题吗?JS区分大小写,
    route\u day
    !=
    Route\u day
    同样
    ele.Route\u id=“3”
    应该是
    ele.Route\u id=“3”
    答案在@RoryMcCrossan comments中对不起,这是个错误,但语法错误并不是真正的问题。这些都是因为我急于把它打出来。@user3314802,那么问题出在哪里呢?我的答案中的一小段是有效的。还有其他问题吗?JS区分大小写,
    route\u day
    !=
    Route\u day
    同样
    ele.Route\u id=“3”
    应该是
    ele.Route\u id=“3”
    答案在@RoryMcCrossan comments中对不起,这是个错误,但语法错误并不是真正的问题。这些都是因为我急于把它打出来。@user3314802,那么问题出在哪里呢?我的答案中的一小段是有效的。还有其他问题吗?JS区分大小写,
    route\u day
    !=
    Route\u day
    同样
    ele.Route\u id=“3”
    应该是
    ele.Route\u id=“3”
    答案在@RoryMcCrossan comments中对不起,这是个错误,但语法错误并不是真正的问题。这些都是因为我急于把它打出来。@user3314802,那么问题出在哪里呢?我的答案中的一小段是有效的。还有问题吗?问题在钥匙上<代码>路线天!==route_day
    问题出在钥匙上<代码>路线天!==route_day
    问题出在钥匙上<代码>路线天!==route_day
    问题出在钥匙上<代码>路线天!==路线日
    var newobj = obj.filter(function(ele, ind, arr){
        return ele.route_id === "3" && ele.route_day === "WED";
    });