You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从JSON获取数组长度并按对应次数执行JavaScript函数

问题

我希望从存储在JSON中的数组获取元素数量,并按该次数执行指定函数,请问这在JavaScript中是否可行?我将数组存储在JSON中。

以下是我为单个应用编写的代码:

if (localStorage.getItem("repo")) {
  repo = JSON.parse(localStorage.getItem("repo"));
  create_app(repo.app.appName, repo.app.appIcon, repo.app.appId, repo.app.appUrl);
};

对应的JSON结构(要访问的数组名为"apps"):

{
    "repoName": "repo_name",
    "repoId": "unique_id",
    "repoVer": "1",
    "apps": [{
        "appName": "first app name",
        "appId": "app1",
        "appUrl": "https://example.com",
        "appIcon": "https://example.com/favicon.ico"
      },
    {
      "appName": "second app name",
      "appId": "app2",
      "appUrl": "https://example.org",
      "appIcon": "https://example.org/favicon.ico"
  }]
}
解决方案

完全可行,你只需要遍历JSON解析后的apps数组,对数组中的每个元素调用create_app函数即可,无需单独获取元素数量再循环(当然也可以用数组长度写for循环,但直接遍历数组更直观简洁)。

修改后的代码如下:

if (localStorage.getItem("repo")) {
  const repo = JSON.parse(localStorage.getItem("repo"));
  // 遍历apps数组,为每个应用调用create_app函数
  repo.apps.forEach(app => {
    create_app(app.appName, app.appIcon, app.appId, app.appUrl);
  });
};

几点说明

  • 原代码里的repo.app是错误的,你的JSON结构中并没有app字段,正确的是repo.apps数组
  • 使用forEach方法可以自动遍历数组所有元素,帮你处理循环次数,比手动写for循环更简洁
  • 建议用const声明repo变量,避免全局变量污染

内容的提问来源于stack exchange,提问作者Potter Edgerton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 16:10:31