使用 for in 循环更改值

Change value using for in loop

我正在尝试编写一个 for in 循环函数,将任何大于 20 的值更改为 0

这是我目前尝试过的方法:

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

下面是替换大于 20 的值的函数

function greaterThan20(obj){
  for (int a=0;a<obj.length;a++){
    if (obj[i] > 20){
      obj[i] = 0;
    }
  }
 return obj
}

尝试以下操作:

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