javascript - 处理修复数据集的最佳方法

标签 javascript arrays json

假设我们有一个包含国家/地区及其电话前缀的数据集。大致如下:

var countryPhonePrefixes = [
    {
        'name': 'Spain',
        'prefix': '+34'
    },
    {
        'name': 'Austria',
        'prefix': '+43'
    },
    // and so forth
];

这将导致您的开发代码超过 1000 行(缩小之前)。我的问题是,是否有关于如何获取或初始化此类数据集的最佳实践?

我有这样的想法:

  • 将其保留在代码中并使用几乎每个 IDE 都有的折叠功能,这样就不会太麻烦。
  • 将其放在单独的 JavaScript 文件中,您还可以在其中执行一些与数据集相关的其他功能。 JavaScript 库或多或少都可以工作。
  • 使用 AJAX 来检索它。例如:jQuery.getJSON()来自.json文件在您的服务器中; xhttp.open() & xhttp.send()您的服务器中的 API 等。

一些额外的上下文:我需要使用此数据集来生成 <option>在整个应用程序中,有多种形式的国家/地区电话前缀选择器。应用程序中已经有一个图标选择,其工作方式类似于我提出的第一个解决方案。

最佳答案

1000 行 Javascript 数据绝对应该放在自己的文件中 - 对于开发来说,它太大了,无法与脚本逻辑存在于同一区域。

如果数据是静态的,那么您可以将其保存(并维护)在单独的文件中,同时将数据导入其他文件中。使用像 Webpack 这样的模块打包器将脚本打包成一个 .js将其交付给客户。

如果数据不是静态的(例如,可以从一个请求更改为另一个请求),则它不能与其他数据捆绑在一起。相反,您可以:

  • 通过网络请求将数据发送到客户端。这有效,但会稍微增加数据可用所需的时间。

  • 另一种选择是在其自己的 <script> 中发送数据。标签。然后让你的其他Javascript解析脚本标签,例如:

const data = JSON.parse(
  document.querySelector('script[type="application/json"]').textContent
);

console.log(data);
<script type="application/json">[{"foo":"bar"}]</script>

关于javascript - 处理修复数据集的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58553719/

相关文章:

c# - 在 .NET 中将 int 的数字分隔成数组的最快方法?

java - 如何更好地实现 5x5 按钮网格拼图的实现,以使用 2D 数组激活网格上周围的按钮?

javascript - JSON.stringify反转?

c# - 反序列化引用循环不将数据带入构造函数

javascript - 知道在 Javascript 中按下了什么按钮

javascript - 为什么 div 附近的空间会影响拖动时可拖动元素的位置?

java - 有什么好的方法可以将多维数组转换为 List<List<T>>?

ruby-on-rails - 使用机架中间件捕获无效的 JSON 解析错误

javascript - 如何从 XML 树中获取值?

javascript - Angular 项目架构