How to filter array when object key value is in array

前端 未结 6 824
迷失自我
迷失自我 2020-11-28 08:16

I have an array model as below:

records:[{
    \"empid\":1,
    \"fname\": \"X\",
    \"lname\": \"Y\"
},
{
    \"empid\":2,
    \"fname\": \"A\",
    \"lnam         


        
6条回答
  •  死守一世寂寞
    2020-11-28 08:36

    Fastest way (will take extra memory):

    var empid=[1,4,5]
    var records = [{ "empid": 1, "fname": "X", "lname": "Y" }, { "empid": 2, "fname": "A", "lname": "Y" }, { "empid": 3, "fname": "B", "lname": "Y" }, { "empid": 4, "fname": "C", "lname": "Y" }, { "empid": 5, "fname": "C", "lname": "Y" }] ;
    
    var empIdObj={};
    
    empid.forEach(function(element) {
    empIdObj[element]=true;
    });
    
    var filteredArray=[];
    
    records.forEach(function(element) {
    if(empIdObj[element.empid])
        filteredArray.push(element)
    });
    

提交回复
热议问题