Updating Object Key Values with Javascript

updating-object-key-values-with-javascript

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().

Total
12
Shares
Leave a Reply

Your email address will not be published. Required fields are marked *

Previous Post
waiting-for-the-dom-to-be-ready-in-javascript

Waiting for the DOM to be ready in Javascript

Next Post
how-to-get-the-last-element-of-an-array-in-javascript

How to get the last element of an Array in Javascript

Related Posts