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

132
Views
Get item from js object with partially known key

Let's say you dont know the numbers before the letter here.

var obj = {'1234 x': 1, '32145 y': 2}

How would you retrieve the value 1 from this object.

The normal way of doing this would be:

obj['1234 x'] // 1

But what if you only knew part of the key: 'x' (the part that comes after the first space)

var key = '1234 x',
    known_key = key.split(' ')[0] // 'x'

How would you be able to retrieve this value?

obj['% ' + known_key] // 1
// % represents all possible strings
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Use a filter.

Retrieve the key and value

function findObject(obj, known_key) {
  return Object.fromEntries(
    Object.entries(obj)
    .filter(e =>
      e[0].substr(e[0].indexOf(' ') + 1) == known_key
    )
  )
}

var object = {
    '1234 x': 1,
    '32145 y': 2,
    '987 y': 3
  },
  key = 'y'

console.log(  
  findObject(object, key) // {'32145 y': 2, '987 y': 3}
)

Retrieve the value

function findValue(obj, known_key) {
  return Object.entries(obj)
  .filter(e =>
    e[0].substr(e[0].indexOf(' ') + 1) == known_key
  )
  .map(e => e[1])
}

var object = {
    '1234 x': 1,
    '32145 y': 2,
    '987 y': 3
  },
  key = 'y'

console.log(
  findValue(object, key) // [2, 3]
)

about 4 years ago · Juan Pablo Isaza Report

0

Filter using endsWith - you can substitute with includes to find the string anywhere

const findPartial = (obj,str) => Object.fromEntries(Object.entries(obj)
  .filter(([key, val]) => key.endsWith(str)));

const obj = {
  '1234 x': 1,
  '32145 y': 2
}
console.log(
  findPartial(obj, ' y')
)

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!