Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

118
Views
Is it possible to use `if … in` to search through an object without it being case-sensitive?

If I want to get a value from the object know but the case is different, it won’t match: "Hello" won’t match "hello". Is there another work around for this?

function ct(e) {
  var know = {
    "Hi": "Hello",
    "How are you?": "Great",
    "Bye": "Have A Nice Day !",
    "Hello": "Hi , Whats Up",
    "What's your name?": "Claire Rachael"
  };
  let t = document.createElement("span");
  
  t.setAttribute("class", "chatMessage left");
  
  if (e in know) {
    setTimeout(() => {
      t.textContent = "Typing...";
      d.appendChild(t);
      g = d.getAttribute("data-bottom")
        ? d.getAttribute("data-bottom")
        : 0;
      
      if (parseInt(g) < 200)
        d.scrollTo(0, d.scrollHeight);
    }, 2000);
    setTimeout(() => {
      t.textContent = know[e];
      d.appendChild(t);
      g = d.getAttribute("data-bottom")
        ? d.getAttribute("data-bottom")
        : 0;
      
      if (parseInt(g) < 200)
        d.scrollTo(0, d.scrollHeight);
      else
        alert("new message");
    }, 6000)
  }
  else {
    t.textContent = "I don't understand";
    d.appendChild(t);
  }
}
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

You can't do that with in, no.

You can create a map of the properties keyed by their name in lower case, then look in that map using only lower-case values:

const knowMap = new Map(Object.entries(know).map(([key, value]) => [key.toLowerCase(), value]));
const elower = e.toLowerCase();
// ...
if (knowMap.has(elower)) {
    // ...you can use `knowMap.get(elower)` here to get the value...
    // ...e.g.: `t.textContent = knowMap.get(elower);`
}

Live Example:

var know = {
    "Hi": "Hello",
    "How are you?": "Great",
    "Bye": "Have A Nice Day !",
    "Hello": "Hi , Whats Up",
    "What's your name?": "Claire Rachael"
};

const knowMap = new Map(Object.entries(know).map(([key, value]) => [key.toLowerCase(), value]));
// ...
function test(key) {
    const keylower = key.toLowerCase();
    if (knowMap.has(keylower)) {
        const value = knowMap.get(keylower);
        console.log(`value for "${key}" is "${value}"`);
    } else {
        console.log(`No match for key "${key}"`);
    }
}
test("Hi");
test("HI");
test("hi");

If you know that none of your properties has the value undefined, you can avoid going to the map twice:

const value = knowMap.get(elower);
if (value !== undefined) {
    // ...use `value` here...
}

Live Example:

var know = {
    "Hi": "Hello",
    "How are you?": "Great",
    "Bye": "Have A Nice Day !",
    "Hello": "Hi , Whats Up",
    "What's your name?": "Claire Rachael"
};

const knowMap = new Map(Object.entries(know).map(([key, value]) => [key.toLowerCase(), value]));
// ...
function test(key) {
    const value = knowMap.get(key.toLowerCase());
    if (value !== undefined) {
        console.log(`value for "${key}" is "${value}"`);
    } else {
        console.log(`No match for key "${key}"`);
    }
}
test("Hi");
test("HI");
test("hi");

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!