paint-brush
How to Update Object Key Values Using Javascriptby@smpnjn
163,478 reads
163,478 reads

How to Update Object Key Values Using Javascript

by Johnny SimpsonOctober 16th, 2022
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

To update all values in an object, the easiest way is to: Use Object.keys to get all keys of the object. Apply any logic, to decide which values should be updated. Update the value of each using a loop-like forEach or for.
featured image - How to Update Object Key Values Using Javascript
Johnny Simpson HackerNoon profile picture


Javascript objects consist of key-value pairs and are one of the most common data structures in Javascript.


To update all values in an object, the easiest way is to:

  1. Use Object.keys to get all keys of the object.
  2. Apply any logic, to decide which values should be updated.
  3. Update the value of each using a loop-like forEach or for.


For example:

let myObject = {
    name: "John", 
    skillItem1: 4,
    skillItem2: 7,
    skillItem3: 2,
    skillItem4: 1
}

// Updates any numerical values that are more than or equal to 4, and changes them to 10:
Object.keys(myObject).forEach((item) => {
    if(typeof myObject[item] == "number" && myObject[item] >= 4) {
        myObject[item] = 10
    }
})

console.log(myObject)
// Returns:
// let myObject = {
//     name: "John", 
//     skillItem1: 10,
//     skillItem2: 10,
//     skillItem3: 2,
//     skillItem4: 1


You don't have to apply logic - but it's usually useful. You can also achieve this with a for loop - which is slightly faster than using forEach:



let myObject = {
    name: "John", 
    skillItem1: 4,
    skillItem2: 7,
    skillItem3: 2,
    skillItem4: 1
}

// Updates any numerical values that are more than or equal to 4, and changes them to 10:
for(let item of Object.keys(myObject)) {
    if(typeof myObject[item] == "number" && myObject[item] >= 4) {
        myObject[item] = 10
    }
}

console.log(myObject)
// Returns:
// let myObject = {
//     name: "John", 
//     skillItem1: 10,
//     skillItem2: 10,
//     skillItem3: 2,
//     skillItem4: 1


To update only one value in an object, use the square bracket notation [] to select which key you want to update. For example:


let myObject = {
    name: "John", 
    skillItem1: 4,
    skillItem2: 7,
    skillItem3: 2,
    skillItem4: 1
}

// Updates `skillItem2` to 15
myObject['skillItem2'] = 15;


Javascript objects are created by reference, which is a fancy way of saying that when we make the changes above, we are mutating the original object. That also means that Object.values() does not allow us to update the values of the object, which is why we have to use Object.keys().



Also published here.