【问题标题】:JavaScript/Angular 1 - Test if an object is defined and empty it if trueJavaScript/Angular 1 - 测试是否定义了一个对象,如果为真则清空它
【发布时间】:2017-12-17 00:27:13
【问题描述】:

我想测试一个对象是否为空,然后清空它,但前提是为真

有了类似的东西:

angular.isDefined(this.project.motivation.description) = {}

问题是angular.isDefined 返回一个布尔值。 如果使用 Lodash 或 ES2015 等条件,它是否具有良好实践的方法?

【问题讨论】:

  • 为什么一定要这么花哨?可读性比不使用if 条件更重要
  • 你想清空一个对象,但前提是它是空的?!那个怎么样?如果它是空的,你为什么要清空它(如果它已经是空的)?我在这里错过了什么?
  • @lealceldeiro 不,我希望在未定义时清空
  • 好的,标题暗示,但不是问题的主体,你应该编辑它。
  • Sagi,也许这个答案对你有帮助:How do I test for an empty JavaScript object?

标签: javascript angularjs object ecmascript-6 lodash


【解决方案1】:

您可以使用带有 _.defaultTo() 函数的 Lodash 来做到这一点:

var f = {a: "test"}
f = _.defaultTo(f, {})

如果对象未定义,则函数返回空对象。

【讨论】:

    猜你喜欢
    • 2019-03-22
    • 1970-01-01
    • 2011-03-17
    • 1970-01-01
    • 2010-10-15
    • 2010-11-24
    • 1970-01-01
    • 2020-10-25
    相关资源
    最近更新 更多