【问题标题】:Filter object properties by value integer按值整数过滤对象属性
【发布时间】:2016-07-19 04:22:15
【问题描述】:

如果值是数字,下划线是否可以过滤对象中的属性?我见过this question,但它处理布尔值。

我想过滤值大于 1 的对象属性。

发件人:

[{
  "Tom"  : 10,
  "Dick" : 5,
  "Harry": 0,
  "date" : "02/23/2010
}]

收件人:

[{
  "Tom"  : 10,
  "Dick" : 5,
  "date" : "02/23/2010
}]

我查看了下划线文档并认为 _.pick_.omit 可以解决问题,但它们只关注键。

我也尝试过以_.values 作为参数的_.filter

【问题讨论】:

  • 最后一个是怎么处理成数字的?
  • 您希望date 发生什么?
  • “我见过这个问题,但它处理的是布尔值。”你无法想象如何改变它来处理数字?
  • @epascarello 不知道你在问什么。
  • 为什么其他问题的答案没有解决您的问题?你给_.pick() 的函数可以对这个值做任何事情,包括检查它是否是一个大于1的数字。你不必在那个问题中使用相同的函数,只需使用相同的通用结构。

标签: javascript underscore.js javascript-objects lodash


【解决方案1】:

您可以只删除不满足特定条件的属性。

for (var key in obj) {
    if (obj[key] < 1) {
        delete obj[key];
    }
}

【讨论】:

  • 这有帮助。谢谢!
猜你喜欢
  • 2019-05-04
  • 1970-01-01
  • 2022-08-18
  • 1970-01-01
  • 2017-11-03
  • 1970-01-01
  • 2021-09-27
  • 2021-12-18
  • 2019-05-10
相关资源
最近更新 更多