skip to Main Content

I want to use filter on my function, but I have a little problem.

So, I have this response, here I want to filter by "NAVE"

[
     {
         "codicePat": 93009428,
         "dataInizioAttivita": "1992-03-01",
         "dataCessazione": "0001-01-01",
         "descrizioneTipoCertificato": "NAVE",
     },
     {
         "codicePat": 93009429,
         "dataInizioAttivita": "1992-07-01",
         "dataCessazione": "0001-01-01",
         "descrizioneTipoCertificato": "NAVE",
     },
     {
         "codicePat": 93009430,
         "dataInizioAttivita": "1997-04-03",
         "dataCessazione": "0001-01-01",
         "descrizioneTipoCertificato": "COMANDATA",
 
     },
     {
         "codicePat": 93009431,
         "dataInizioAttivita": "1992-09-01",
         "dataCessazione": "1997-06-08",
         "descrizioneTipoCertificato": "NAVE",
     }
]

I’m using this function:

if(tipo === x.descrizioneTipoCertificato){
     const index = dataPan.content.findIndex(obj => {
           return obj.descrizioneTipoCertificato === 'NAVE'
     });
     dataPan.content.splice(index, 1);
}

from this function I get only 2 first elements with NAVE certificato.
This is not correct, I want all data with this certificato, so 3 elements, not 2.

Have you any idea?

2

Answers


  1. simply use filter on the array

     const newArr = oldArr.filter(item => item.descrizioneTipoCertificato == 'NAVE')
    

    this will simply filter and return to a new array only the element that matches the condition

    Login or Signup to reply.
  2. Use vanilla js here:

    const data = [
        {
            "codicePat": 93009428,
            "dataInizioAttivita": "1992-03-01",
            "dataCessazione": "0001-01-01",
            "descrizioneTipoCertificato": "NAVE",
        },
        {
            "codicePat": 93009429,
            "dataInizioAttivita": "1992-07-01",
            "dataCessazione": "0001-01-01",
            "descrizioneTipoCertificato": "NAVE",
        },
        {
            "codicePat": 93009430,
            "dataInizioAttivita": "1997-04-03",
            "dataCessazione": "0001-01-01",
            "descrizioneTipoCertificato": "COMANDATA",
        },
        {
            "codicePat": 93009431,
            "dataInizioAttivita": "1992-09-01",
            "dataCessazione": "1997-06-08",
            "descrizioneTipoCertificato": "NAVE",
        }    
    ]
    
    const filtered = data.filter(item => item.descrizioneTipoCertificato === 'NAVE');
    
    console.log(filtered);
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search