-1
    let helpData = [
      {
        "question": "Question = Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.",
        "answer": "Answer = Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
      },
      {
        "question": "Question = Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.",
        "answer": "Answer = Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
      },
      {
        "question": "Question = Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.",
        "answer": "Answer = Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
      },
  {
"question": "Question = Capital of India",
"answer": "Answer = Delhi."
},
    ];

    let search = "capital";
    const res = helpData.filter(obj => Object.values(obj).some(val => val.includes(search)));
    console.log(res)

I want to search based on given string. If case matches above code works fine but for insensitive case it doesn't work. Please help to find a solution

Alok007
  • 3
  • 4

1 Answers1

0

let helpData = [
  {
    "question": "Question = Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.",
    "answer": "Answer = Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
  },
  {
    "question": "Question = Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.",
    "answer": "Answer = Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
  },
  {
    "question": "Question = Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.",
    "answer": "Answer = Lorem Ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
  },
];

let regexp = /Lorem Ipsum/gm;

const even = (element) => element.match(regexp);
const resp = helpData.filter(obj => Object.values(obj).some(even));

console.log(resp);

Solution:

For Case Insensitive String

let regexp = /Lorem Ipsum/gmi;

For Case Sensitive String

let regexp = /Lorem Ipsum/gm;

const even = (element) => element.match(regexp);
const resp = helpData.filter(obj => Object.values(obj).some(even));
console.log(resp);
Amulya Kashyap
  • 2,333
  • 17
  • 25