猿问

Javascript 嵌套对象默认后备选项

我在 javascript 中有一个嵌套的选项对象。为它们提供默认值的最佳方法是什么?


使用 ajax 从 json 文件中读取的自定义 javascript 对象:


{

  "fields": {

    "markdown": {

      "preview": {

        "delay": null,

        "custom": "hello"

      },

      "revisions": {

        "path": "revisions/markdown",

        "limit": 5

      }

    }

  }

}

如果未设置值,则作为后备的默认选项:


{

  "fields": {

    "markdown": {

      "preview": {

        "delay": 5,

        "css": "https://example.com/my/style.css"

      },

      "revisions": {

        "path": "revisions",

        "limit": 10

      }

    }

  }

}

预期成绩


"css"在这种情况下,保留自定义对象中的所有内容并使用默认值完成它。


{

  "fields": {

    "markdown": {

      "preview": {

        "delay": null,

        "css": "https://example.com/my/style.css",

        "custom": "hello"

      },

      "revisions": {

        "path": "revisions/markdown",

        "limit": 5

      }

    }

  }

}

笔记:

  • 自定义对象可能不包括所有嵌套值。如果缺少值,则应应用默认值。

  • Null、empty 和 0 是可接受的值,不应被默认值覆盖。

  • 作为默认值缺失的自定义对象中的值不会造成危害,也不需要处理。



    牛魔王的故事
    浏览 151回答 1
    1回答
    随时随地看视频慕课网APP

    相关分类

    JavaScript
    我要回答