Bird
Raised Fist0
Javascriptprogramming~5 mins

Adding and removing properties in Javascript - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Adding and removing properties
O(n)
Understanding Time Complexity

We want to understand how the time it takes to add or remove properties from an object changes as the object grows.

How does the number of properties affect the speed of these operations?

Scenario Under Consideration

Analyze the time complexity of the following code snippet.


const obj = {};

// Adding properties
for (let i = 0; i < n; i++) {
  obj['key' + i] = i;
}

// Removing properties
for (let i = 0; i < n; i++) {
  delete obj['key' + i];
}
    

This code adds n properties to an object, then removes those n properties one by one.

Identify Repeating Operations
  • Primary operation: Adding and deleting properties inside loops.
  • How many times: Each loop runs n times, performing one add or delete per iteration.
How Execution Grows With Input

As n grows, the number of add and delete operations grows directly with n.

Input Size (n)Approx. Operations
10About 20 (10 adds + 10 deletes)
100About 200 (100 adds + 100 deletes)
1000About 2000 (1000 adds + 1000 deletes)

Pattern observation: The total work grows in a straight line as n increases.

Final Time Complexity

Time Complexity: O(n)

This means the time to add and remove properties grows directly in proportion to the number of properties.

Common Mistake

[X] Wrong: "Adding or removing a property takes the same time no matter how many properties the object has."

[OK] Correct: While each add or delete is fast, doing many of them adds up, so total time grows with the number of operations.

Interview Connect

Understanding how simple operations like adding or removing properties scale helps you reason about object manipulation performance in real projects.

Self-Check

"What if we added properties in a nested loop instead? How would the time complexity change?"

Practice

(1/5)
1.

Which of the following is the correct way to add a new property age with value 25 to an existing object person?

easy
A. person.age = 25;
B. add person.age = 25;
C. person->age = 25;
D. person(age) = 25;

Solution

  1. Step 1: Understand how to add properties in JavaScript objects

    Properties are added by assigning a value to object.property.
  2. Step 2: Check each option's syntax

    Only person.age = 25; uses correct JavaScript syntax to add a property.
  3. Final Answer:

    person.age = 25; -> Option A
  4. Quick Check:

    Adding property = person.age = 25 [OK]
Hint: Use dot notation: object.property = value to add [OK]
Common Mistakes:
  • Using invalid syntax like 'add' keyword
  • Using arrow or parentheses incorrectly
  • Trying to call property as a function
2.

Which of the following lines correctly removes the property color from the object car?

easy
A. car.color = null;
B. remove car.color;
C. car.delete(color);
D. delete car.color;

Solution

  1. Step 1: Recall how to remove properties in JavaScript

    The delete keyword removes a property from an object.
  2. Step 2: Verify each option

    Only delete car.color; correctly removes the property.
  3. Final Answer:

    delete car.color; -> Option D
  4. Quick Check:

    Remove property = delete object.property [OK]
Hint: Use 'delete object.property;' to remove properties [OK]
Common Mistakes:
  • Using 'remove' keyword which doesn't exist
  • Assigning null instead of deleting
  • Calling delete as a method
3.

What will be the output of the following code?

const obj = {a: 1};
obj.b = 2;
delete obj.a;
console.log(obj);
medium
A. {a: 1, b: 2}
B. {b: 2}
C. {a: undefined, b: 2}
D. {}

Solution

  1. Step 1: Add property 'b' to object

    After obj.b = 2;, object is {a:1, b:2}.
  2. Step 2: Delete property 'a'

    delete obj.a; removes property 'a', so object becomes {b:2}.
  3. Final Answer:

    {b: 2} -> Option B
  4. Quick Check:

    Delete removes property completely [OK]
Hint: Deleting removes property; it doesn't set undefined [OK]
Common Mistakes:
  • Thinking delete sets property to undefined
  • Expecting original property to remain
  • Confusing object output format
4.

Find the error in the following code that tries to remove the name property from user:

const user = {name: 'Alice', age: 30};
remove user.name;
medium
A. The keyword remove is invalid in JavaScript.
B. The property name cannot be deleted.
C. The object user is not defined.
D. The property should be set to null instead.

Solution

  1. Step 1: Check the keyword used for deletion

    JavaScript uses delete, not remove, to delete properties.
  2. Step 2: Confirm object and property validity

    user is defined and name is a valid property.
  3. Final Answer:

    The keyword remove is invalid in JavaScript. -> Option A
  4. Quick Check:

    Use 'delete' keyword, not 'remove' [OK]
Hint: Use 'delete' keyword to remove properties, not 'remove' [OK]
Common Mistakes:
  • Using 'remove' instead of 'delete'
  • Trying to set property to null to delete
  • Assuming property can't be deleted
5.

You have an object settings with properties {theme: 'dark', fontSize: 14, showSidebar: true}. You want to remove showSidebar only if it exists, then add a new property language with value 'en'. Which code correctly does this?

hard
A.
settings.showSidebar = undefined;
settings.language = 'en';
B.
delete settings.showSidebar;
settings.language == 'en';
C.
if ('showSidebar' in settings) {
  delete settings.showSidebar;
}
settings.language = 'en';
D.
if (settings.showSidebar) {
  settings.showSidebar = null;
}
settings.language = 'en';

Solution

  1. Step 1: Check if property exists before deleting

    Using 'showSidebar' in settings ensures property exists before deletion.
  2. Step 2: Add new property correctly

    settings.language = 'en'; adds the new property properly.
  3. Step 3: Verify other options

    delete settings.showSidebar;
    settings.language == 'en';
    uses wrong comparison operator == instead of assignment =.
    settings.showSidebar = undefined;
    settings.language = 'en';
    sets property to undefined but does not remove it.
    if (settings.showSidebar) {
      settings.showSidebar = null;
    }
    settings.language = 'en';
    sets property to null but does not remove it.
  4. Final Answer:

    if ('showSidebar' in settings) { delete settings.showSidebar; } settings.language = 'en'; -> Option C
  5. Quick Check:

    Check existence, delete, then add property [OK]
Hint: Check property with 'in' before delete; assign new property with '=' [OK]
Common Mistakes:
  • Using '==' instead of '=' for assignment
  • Setting property to undefined or null instead of deleting
  • Not checking if property exists before deleting
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard