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

161
Views
Can '=' be used to set one object property given a different unique key:value?

If I know an object exists in an array with a unique key:value pair do I have use .find() to get the object or is there a way that doesn't require iteration?

Given:

const testObj = [
{id: '001', first: 'fThing1', other: [{id: '001.1'}, {id: '001.2'}], arr: ['a1', 'b1', 'c1'] },
{id: '002', first: 'fThing2', other: [{id: '002.1'}, {id: '002.2'}], arr: ['a2', 'b2', 'c2'] },
{id: '003', first: 'fThing3', other: [{id: '003.1'}, {id: '003.2'}], arr: ['a3', 'b3', 'c3'] }
]

Is there a notation to do:

testObj.id['001'](some notation)first = 'something'

Or do I have to do:

temp = testObj.find(to => to.id === '001')
temp.first = 'something'
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

To directly answer your question...

Is there a notation to do

The answer is "no".

If your elements have unique IDs, considering collecting them into a Map keyed by id if you need that sort of access...

const testObj = [{"id":"001","first":"fThing1","other":[{"id":"001.1"},{"id":"001.2"}],"arr":["a1","b1","c1"]},{"id":"002","first":"fThing2","other":[{"id":"002.1"},{"id":"002.2"}],"arr":["a2","b2","c2"]},{"id":"003","first":"fThing3","other":[{"id":"003.1"},{"id":"003.2"}],"arr":["a3","b3","c3"]}]

const idMap = new Map(testObj.map(o => [o.id, o]))

// word of warning, this will error if the ID doesn't exist
idMap.get("001").first = "something"

console.log(testObj[0])
.as-console-wrapper { max-height: 100% !important; }

Because the object references in testObj and the Map are the same, any changes to one will be reflected in the other.

about 4 years ago · Juan Pablo Isaza Report

0

As @Phil mentioned, the notation you asked about is not possible.

Another option is to use function .map() to return a new array with updated objects:

const testObj = [
  {id: '001', first: 'fThing1', other: [{id: '001.1'}, {id: '001.2'}], arr: ['a1', 'b1', 'c1'] },
  {id: '002', first: 'fThing2', other: [{id: '002.1'}, {id: '002.2'}], arr: ['a2', 'b2', 'c2'] },
  {id: '003', first: 'fThing3', other: [{id: '003.1'}, {id: '003.2'}], arr: ['a3', 'b3', 'c3'] }
];

const result = testObj.map(item =>
  item.id === '001' ? {
    ...item,
    first: 'something'
  } : item
);

console.log(result);

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!