[removed] filter() for Objects

前端 未结 16 1076
心在旅途
心在旅途 2020-11-22 15:23

ECMAScript 5 has the filter() prototype for Array types, but not Object types, if I understand correctly.

How would I implemen

16条回答
  •  青春惊慌失措
    2020-11-22 15:40

    How to search an array of objects using JavaScript: filter() for Objects

    let items = [{
        id: 1,
        isActive: true,
        age: 40,
        first_name: 'Dickerson',
        last_name: 'Macdonald'
      },
      {
        id: 2,
        isActive: false,
        age: 21,
        first_name: 'Larsen',
        last_name: 'Shaw'
      },
      {
        id: 3,
        isActive: false,
        age: 89,
        first_name: 'Geneva',
        last_name: 'Wilson'
      },
      {
        id: 4,
        isActive: true,
        age: 38,
        first_name: 'Mac',
        last_name: 'Henry'
      }
    ];
    
    function search(val) {
      let searchedItems = items.filter((item) => {
        return Object.keys(item).some((key) => {
          return String(item[key]).toLowerCase().indexOf(val.toLowerCase()) > -1;
        })
      });
    
      return searchedItems;
    }
    
    console.log(search("mac"))

提交回复
热议问题