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

标签 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": "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);
}

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

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

最佳答案

  1. 使用==而不是=
  2. 使用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/

相关文章:

Javascript 对象计数器没有按预期递增

jquery - 如何创建 JSON 数组?

java - 在其他方法内部调用其他类的方法

arrays - Excel VBA 变量使用 : Is it better to use multiple variables or one array to store information

javascript - 如何使用 Visual studio 2019 Typescript 使 React 对象不再需要任何声明

javascript - 如何创建一个内部有三 Angular 形的 Canvas 圆圈?

jquery - 检查单击的元素是否没有特定的类

jquery - 如何扩展 jQuery 插件的方法?

javascript - 这是在 asp.net 中显示状态消息的最佳方式

jquery - jQuery keydown和mouseDown函数?