How to find a value in an array of objects in JavaScript?

前端 未结 10 2614
情话喂你
情话喂你 2020-11-28 18:08

I have an array of objects:

Object = {
   1 : { name : bob , dinner : pizza },
   2 : { name : john , dinner : sushi },
   3 : { name : larry, dinner : hummus         


        
10条回答
  •  青春惊慌失措
    2020-11-28 18:55

    I would try not to reinvent the wheel. We use object-scan for all our data processing needs. It's conceptually very simple, but allows for a lot of cool stuff. Here is how you would solve your specific question

    const objectScan = require('object-scan');
    
    const findDinner = (dinner, data) => objectScan(['*'], {
      abort: true,
      rtn: 'value',
      filterFn: ({ value }) => value.dinner === dinner
    })(data);
    
    const data = {
      1: { name: 'bob', dinner: 'pizza' },
      2: { name: 'john', dinner: 'sushi' },
      3: { name: 'larry', dinner: 'hummus' }
    };
    
    console.log(findDinner('sushi', data));
    // => { name: 'john', dinner: 'sushi' }
    

提交回复
热议问题