首页 > 解决方案 > 如何将变量存储在单独的 JS/JSON 文件中

问题描述

所以我有一个主 JS 文件,我的所有函数都在其中,并且我正在处理对象,准确地说是一组对象。我希望将整个数组加上其余变量移动到单独的文件(JS 或 JSON)中,以获得更清晰的代码。我试图创建 object.js,然后在 html 文件上添加一个脚本标记,但它不起作用。有什么帮助吗?提前致谢。

这是主要的js文件:

function randomize() {


var contArray = [],
    j = 0,
    continentListArray = [];
  for (var i = 0; i < 7; i++) {
    if (continent[i] == "0") contArray.push("EU", "AS", "NA", "SA", "AF", "OC");
    if (continent[i] == "1") contArray.push("EU");
    if (continent[i] == "2") contArray.push("AS");
    if (continent[i] == "3") contArray.push("NA");
    if (continent[i] == "4") contArray.push("SA");
    if (continent[i] == "5") contArray.push("AF");
    if (continent[i] == "6") contArray.push("OC");
  }

  while (j <= contArray.length) {
    for (var i = 0; i < 9; i++) {
      if (list[i].continent == contArray[j]) {
        continentListArray.push(list[i]);
      }
    }
    j++;
  }

  RandomNo = Math.floor(Math.random() * continentListArray.length);

  localStorage.setItem(
    "name",
    JSON.stringify(continentListArray[RandomNo].name)
  );
  document.getElementById("countryname").innerHTML =
    continentListArray[RandomNo].name;
  localStorage.setItem("latitude", continentListArray[RandomNo].lat);
  localStorage.setItem("longitude", continentListArray[RandomNo].lng);
}

这是变量js文件

let list = [
  {
    name: "Chocolate Hills, Philipines",
    lat: "9.839523963227087",
    lng: "124.17690138495948",
    continent: "AS",
  },
  {
    name: "Lake Louise, US",
    lat: "51.17367962051471",
    lng: "-115.58264234807032",
    continent: "NA",
  },
  {
    name: "Chaminha, Portugal",
    lat: "41.875632862726725",
    lng: "-8.840761006671405",
    continent: "EU",
  },
  {
    name: "Lake Bed, Slovenia",
    lat: "46.36246859575214",
    lng: "14.099583668957619",
    continent: "EU",
  },
  {
    name: "St Peters Pool, Malta",
    lat: "35.83324835725186",
    lng: "14.562450320981132",
    continent: "EU",
  },
  {
    name: "Trælanípa, Faroe Islands",
    lat: "62.02386522710074",
    lng: "-7.239363099999999",
    continent: "EU",
  },
  {
    name: "Flat open beach, Tuvalu",
    lat: "-7.245395487392974",
    lng: "177.14575319695675",
    continent: "AS",
  },
  {
    name: "Bouma National Heritage Park, Fiji",
    lat: "-16.826590105942557",
    lng: "-179.87305025407966",
    continent: "NA",
  },
  {
    name: "Antwerp, Belgium",
    lat: "51.216200",
    lng: "4.417700",
    continent: "EU",
  },
];

标签: javascriptarraysjson

解决方案


您必须创建一个名为 data.json 的文件,然后将所有数据放入其中。不要忘记将所有数据转换为正确的 json 语法。

将其导入您的反应组件后(从“您的 json 路径”导入数据)。


推荐阅读