Javascript:Filter对象返回正确的值,但结构错误

Javascript:Filter对象返回正确的值,但结构错误,javascript,Javascript,我有一个要筛选的对象,只返回salersonid=“1”所在的对象 预期产出: var jsonDataFiltered = { "a": { "id": "a", "name": "Lucifer Enterprises", "salesPersonId": "1" }, "

我有一个要筛选的对象,只返回salersonid=“1”所在的对象

预期产出:

var jsonDataFiltered = {
    "a": {
        "id": "a",
        "name": "Lucifer Enterprises",
        "salesPersonId": "1"
    },
    "b": {
        "id": "b",
        "name": "Charlies Chocolate Factory",
        "salesPersonId": "1"
    }
};
我尝试过的

  • 直接在对象上使用过滤器会导致未捕获的TypeError:jsonData.filter不是函数
  • 使用返回a和b但结构不同的对象条目和过滤器,这将是我接下来使用对象的问题
  • 测试2的输出值正确,但结构错误:

    [ 
       [ "a", { "id": "a", "name": "Lucifer Enterprises", "salesPersonId": "1" } ], 
       [ "b", { "id": "b", "name": "Charlies Chocolate Factory", "salesPersonId": "1" } ] 
    ]
    
    问题

    如何获得所需的输出?

    您可以使用:

    var jsonData={
    “a”:{
    “id”:“a”,
    “名称”:“路西法企业”,
    “销售人员ID”:“1”
    },
    “b”:{
    “id”:“b”,
    “名称”:“查理巧克力工厂”,
    “销售人员ID”:“1”
    },
    “c”:{
    “id”:“c”,
    “名称”:“壁虎投资”,
    “销售人员ID”:“2”
    }
    };
    var filteredJsonData=Object.fromEntries(Object.entries(jsonData).filter(function)(entry){
    返回条目[1]。SalesorSonid==“1”;
    }));
    console.log(filteredJsonData)
    
          var filteredJsonData = jsonData.filter(function (row){
            console.log("test");
          });
    
          var filteredJsonData = Object.entries(jsonData).filter(function (entry){
            return entry[1].salesPersonId == "1";
          });
    
    [ 
       [ "a", { "id": "a", "name": "Lucifer Enterprises", "salesPersonId": "1" } ], 
       [ "b", { "id": "b", "name": "Charlies Chocolate Factory", "salesPersonId": "1" } ] 
    ]