Javascript 删除值大于给定数字的所有属性

Javascript 删除值大于给定数字的所有属性,javascript,Javascript,:) 我需要删除值大于给定值的属性。我看了这个问题,还有这个问题,还有这个问题,但我似乎仍然无法得到我想要的答案。(它们要么只返回数字,要么返回我不需要的数组的其他部分。) 这是我写的代码: function removeNumbersLargerThan(num, obj) { arr = []; for (var i = 0; i < obj.length; i++) { return arr[i] > 5; } } var obj = { a: 8, b: 2,

:)

我需要删除值大于给定值的属性。我看了这个问题,还有这个问题,还有这个问题,但我似乎仍然无法得到我想要的答案。(它们要么只返回数字,要么返回我不需要的数组的其他部分。)

这是我写的代码:

 function removeNumbersLargerThan(num, obj) {
arr = [];
for (var i = 0; i < obj.length; i++) {
return arr[i] > 5;
}
}
var obj = {
  a: 8,
  b: 2,
  c: 'montana'
};
removeNumbersLargerThan(5, obj);
正确的console.log应该是这样的:

   { b: 2, c: 'montana' }
有什么建议吗?非常感谢。 附言:我是新来的,我的问题似乎被打了很多分,尽管我试图遵守规则。如果我的帖子不正确,如果有人要给我打分,请告诉我我做错了什么?这样我可以提高。我是来学习的!:D非常感谢

Object.keys()
函数将给定对象的所有
键作为数组返回。然后,迭代它们,检查指定的键是否大于给定的数字,如果大于,则删除它

varobj={a:8,b:2,c:'montana',d:12};
功能清理(对象,数量){
Object.keys(obj.forEach)(v=>obj[v]>num?删除obj[v]:v);
控制台日志(obj);
}
清洁(obj,5)
函数removeNumbersLargerThan(num,obj){
for(对象中的var键){//for对象中的每个键
if(!isNaN(obj[key])&&obj[key]>num)//如果该键的值不是NaN(是一个数字),并且该数字大于num
删除obj[key];//然后从对象中删除键值
}
}
var obj={
a:8,
b:2,
c:‘蒙大拿’
};
拆下编号为5的制动盘(obj);

控制台日志(obj)
javascript
未检查对象属性值。您可以使用
Object.entries()
获取属性键、值对的数组,
for..of
循环迭代属性和值,如果值等于或大于
5

function removeNumbersLargerThan(num, obj) {
  for (let [key, value] of Object.entries(obj)) {
    if (typeof value === "number" && value > 5) delete obj[key]
  }
}

很好,简洁的回答,但是对于一个新程序员来说可能有点吓人,可能需要一些解释。非常感谢!!谢谢你的解释和答案!非常有用!!:D
function removeNumbersLargerThan(num, obj) {
  for (let [key, value] of Object.entries(obj)) {
    if (typeof value === "number" && value > 5) delete obj[key]
  }
}
function removeNumbersLargerThan(num, obj) {

  for(const property in obj){ 
    if(obj[property] > num){
      delete obj[property];   
    }
  }   
   console.log(obj)
}

/*

1. compare the numbers  
2. delete what you need to    
3. RETURN your needs


You can check MDN for for...in
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in

*/