简体   繁体   中英

Need to return objects containing the key which referred from array of objects

I am trying to return the objects which has key of submittedDate . But if i am trying with find() It's returning only the first object. And for map it's returning undefined for object not having submittedDate key. Please find my code with data and also the result I want. thanks in advance.

    const data = [
        {   
            id: '1',
            name: 'Tully Stark',
            submittedData:'mmmmm'
        },
        {
            id:'2',
            name: 'Nalani Romanova',
        },
         {
            id:'3',
            name: 'Nalani Romanova',
            submittedData:'mmmmm'
        }
    ]  
    
    const submitDate = data.find(item => item.submittedData)
    
    console.log(submitDate)

data to return

const returnData = [
    {   
        id: '1',
        name: 'Tully Stark',
        submittedData:'mmmmm'
    },
     {
        id:'3',
        name: 'Nalani Romanova',
        submittedData:'mmmmm'
    }
]  

the .find by definition only returns the first matching object.

Array.prototype.find()
The find() method returns the value of the first element in the provided array that satisfies the provided testing function. If no values satisfy the testing function, undefined is returned.

You need to use .filter

const submitDate = data.filter(item => item.submittedData)

 const data = [{ id: '1', name: 'Tully Stark', submittedData: 'mmmmm' }, { id: '2', name: 'Nalani Romanova', }, { id: '3', name: 'Nalani Romanova', submittedData: 'mmmmm' } ] const submitDate = data.filter(item => item.submittedData) console.log(submitDate)

You can use Array.filter() , this will return all matching items.

 const data = [ { id: '1', name: 'Tully Stark', submittedData:'mmmmm' }, { id:'2', name: 'Nalani Romanova', }, { id:'3', name: 'Nalani Romanova', submittedData:'mmmmm' } ] const submitDate = data.filter(item => item.submittedData) console.log(submitDate)
 .as-console-wrapper { max-height: 100% !important; top: 0; }

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM