javascript - In an array of objects, returns objects where ANY value matches a specific string

后端 未结 5 955
清酒与你
清酒与你 2020-12-04 00:56

I\'m implementing search functionality into my application. The search results in the UI are returned based on an array of objects. Essentially what I\'m trying to do is ite

5条回答
  •  半阙折子戏
    2020-12-04 01:21

    Try

    let search= result.filter(x=> ['name','custNumber','sneak']
         .reduce((o,a)=> x[a].toLowerCase().includes(query.toLowerCase())||o, false) );
    

    Where query is your searchbarVal.toLowerCase()

    var result = [{
      name: 'Donna Shomaker',
      custNumber: '6658924351',
      sneak: 'string1 string1 string1',
      foo: false,
      bar: false,
    },
    {
      name: 'Ron Duluth',
      custNumber: '8812654434',
      sneak: 'string2 string2 string2',
      foo: false,
      bar: false,
    },
    {
      name: 'Jimmy Dawson',
      custNumber: '8908198230',
      sneak: 'string3 string3 string3',
      foo: false,
      bar: false,
    }
    ]
    
    let query="89"; // searchbarVal.toLowerCase()
    
    let search= result.filter(x=> ['name','custNumber','sneak'].reduce((o,a)=> x[a].toLowerCase().includes(query.toLowerCase())||o, false) );
    
    console.log(search);

提交回复
热议问题