javascript - 删除任何值大于给定数字的属性

标签 javascript

:)

我需要删除值大于给定数字的属性。我看过这个问题:How do I remove a property from a JavaScript object?还有这个:Remove some properties from array of javascript objects还有这个:remove item from array javascript但我似乎仍然无法获得所需的答案。 (他们要么只返回数字,要么返回我不需要的数组的其他部分。)

这是我写的代码:

 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(obj); // => { a: 8, b: 2, c: 'montana' }

正确的 console.log 应该是这样的:

   { b: 2, c: 'montana' }

有什么建议吗?谢谢! PS:我是新来的,即使我试图遵守规则,我的问题似乎也被标记了很多。如果我发错了,有人可以让我知道我做错了什么,如果他们要给我打分吗?这样我可以改进。我是来学习的! :D 非常感谢!

最佳答案

function removeNumbersLargerThan(num, obj) {
  for (var key in obj) {                    // for each key in the object
    if(!isNaN(obj[key]) && obj[key] > num)  // if the value of that key is not a NaN (is a number) and if that number is greater than num
      delete obj[key];                      // then delete the key-value from the object
  }
}

var obj = {
  a: 8,
  b: 2,
  c: 'montana'
};

removeNumbersLargerThan(5, obj);

console.log(obj);

关于javascript - 删除任何值大于给定数字的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42463998/

相关文章:

javascript - 正则表达式:数字匹配是以字符串还是数字形式返回?

javascript - 如何向 dat.gui 添加工具提示

php - 能够通过“添加到购物车”网址传递变量并在结帐时查询它们吗?

javascript - 获取事件标签项的元素以显示边界线

javascript - 使用chart.js同时创建多个饼图

javascript - npx webpack - 无法读取未定义的属性 'minify'

javascript - 用于删除部分 URL 参数的正则表达式

javascript - 如何使用 JavaScript 触发深层 div 内的 Checkbox 的 onChange?

javascript - 升级到 Angular 1.4 后我的指令中断

javascript - 为什么 parseInt 使用 Array#map 会产生 NaN ?