Search code examples
javascriptobjectfor-in-loop

Change value using for in loop


I am trying to write a for in loop function that changes any value that is greater than 20 to 0.

Here is what I have tried so far:

function greaterThan20(obj) {
  for (var key in obj) {
    if (obj[key] > 20) {
      obj[key] = 0;
    }
  }
  return obj
}

Solution

  • Try the following:

    function greaterThan20(obj){
      for(var key in obj) {
          if(obj.hasOwnProperty(key)) {
              if(obj[key] > 20){
                obj[key] = 0;
              }
          }
      }
      return obj;
    }
    var obj = {'one':10,'two':25,'three':30}
    console.log(greaterThan20(obj))