0

I have a file of data.js look like this:

const data = {
  usr1: {
    name: "Abby Middleston",
    age: "34",
    gender: "female",
    userId: "0001",
  },
  usr2: {
    name: "Tom Hardy",
    age: "19",
    gender: "male",
    userId: "0002",
  },
  usr3: {
    name: "George Smith",
    age: "58",
    gender: "male",
    userId: "0003",
  },
  usr4: {
    name: "Kate Winston",
    age: "70",
    gender: "female",
    userId: "0004",
  },
  usr5: {
    name: "Abby LaMere",
    age: "20",
    gender: "female",
    userId: "0005",
  },
};

The user will input a filter like "age == 34" (I have finished processing the string) and the result will be true or false. I have tried Object.key and Array.forEach but none of them worked (or I may have done it wrong!) How can I do this? Thank you!

1 Answers1

0

Object.values and some is what you need here:

const data = { usr1: { name: "Abby Middleston", age: "34", gender: "female", userId: "0001", }, usr2: { name: "Tom Hardy", age: "19", gender: "male", userId: "0002", }, usr3: { name: "George Smith", age: "58", gender: "male", userId: "0003", }, usr4: { name: "Kate Winston", age: "70", gender: "female", userId: "0004", }, usr5: { name: "Abby LaMere", age: "20", gender: "female", userId: "0005", }};

var result = Object.values(data).some(({age})=>age==34);

console.log(result);
gorak
  • 5,233
  • 1
  • 7
  • 19