javascript - 如何在多个 JSON 对象中保存循环数据

标签 javascript json loops

我在循环中有一些变量,需要将它们保存在 JSON 中。但需要确保下一次循环迭代时,之前创建的 JSON 不会被覆盖。

try {
  ayats.forEach(function(element) {
    if (element.toLowerCase().includes(request.params.find.toLowerCase())===true)
    {
      counting++;
      element=JSON.parse(element);
      Surah_Name = element.SuratName;
      Ayat_No = element.AyatNo;
      x = "In Surah "+ element.SuratName+", Ayat Number: "+element.AyatNo+", Quran says: "+ element.Translation;

      // Here some logic to save Surah_Name, Ayat_No and x in JSON
    }
  }
}

所需的输出是这样的:

{
 "data1":{"Surah_Name": Surah_Name,"Ayat_No": Ayat_No, "x":x},
 "data2":{"Surah_Name": Surah_Name,"Ayat_No": Ayat_No, "x":x},
 "data3":{"Surah_Name": Surah_Name,"Ayat_No": Ayat_No, "x":x},
}

最佳答案

试试这个:

function getData(ayats){

const parentObj={};
let counting=0;
  ayats.forEach(function(element) {
    if (element.toLowerCase().includes(request.params.find.toLowerCase())===true)
    {
      counting++;
      element=JSON.parse(element);
      Surah_Name = element.SuratName;
      Ayat_No = element.AyatNo;
      x = "In Surah "+ element.SuratName+", Ayat Number: "+element.AyatNo+", Quran says: "+ element.Translation;
      const tempObj={
        Surah_Name,
        Ayat_No,
        x
      }
      parentObj[`data${counting}`]=tempObj
      // Here some logic to achieve the required output
    }
  })
  return parentObj;
}

console.log(getData(ayats))

关于javascript - 如何在多个 JSON 对象中保存循环数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56155001/

相关文章:

javascript - 使用nodejs http.request()在POST/PUT json时出现带有特殊字符的无效JSON错误

javascript - Angular $scope 不适用于回调函数,即使使用 $scope.$apply

javascript - 触发谷歌地图自动完成焦点

javascript - 如何在 odoo 8 中重写 js 函数?

json - 如何快速读取本地JSON文件并输出JSON?

java - 在 Eclipse 中发现从 Android 的方向 API JSON 数据中提取 html_instructions 的困难

javascript - 从数组中查找最小值

vba - 如何使用 For-Loop 重复 VBA 代码

VBA循环使用另一张表中的数据更新图表中的系列

javascript - 根据链接点击在主窗口中显示不同的 div