我有一个如下所示的 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"}
]
我尝试使用过滤功能过滤掉结果
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
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(function(ele, ind, arr){
console.log(ele);
return ele.route_id == "3" && ele.Route_day == "WED";
});
console.log(newobj);
关于javascript - 为什么我不能过滤我的 javascript/jquery 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31407089/