Javascript 如何创建每个循环,但保持数据在一起

Javascript 如何创建每个循环,但保持数据在一起,javascript,jquery,Javascript,Jquery,我有一个练习块,有一个单词和四个音节。在我的json中,它如下所示: { "main_object": { "id": "new", "getExerciseTitle": "TestFrontEnd", "language": "nl_NL", "application": "lettergrepen", "main_object": { "title": "TestFrontEnd", "language": "nl_NL", "exercises": [ {

我有一个练习块,有一个
单词和四个
音节。在我的json中,它如下所示:

{
"main_object": {
"id": "new",
"getExerciseTitle": "TestFrontEnd",
"language": "nl_NL",
"application": "lettergrepen",
"main_object": {
  "title": "TestFrontEnd",
  "language": "nl_NL",
  "exercises": [
    {
      "word": "huisarts",
      "syllables": [
        "Huis",
        "arts",
        "",
        ""
      ]
    },
    {
      "word": "voetbal",
      "syllables": [
        "Voet",
        "bal",
        "",
        ""
      ]
    }
  ]
},
"dataType": "json"
 }
}
我想循环浏览这些
单词
音节
,但每个
单词
必须保留在一个练习块中的
音节
。现在我试着这么做,但失败了很多:

$(document).ready(function () {
$.getJSON('json_files/jsonData_' + ID + '.json', function(json) {


 var exercisetitle = json.main_object.getExerciseTitle;
    $("#getExerciseTitle").val(exercisetitle);


 var exercise = json.main_object.main_object.exercises;
    $.map(exercise, function(exercise, i) {
        $("#addOpdracht").click();
        $(".exerciseGetWordInput_" + i).val(exercise.word) 
         console.log(exercise.syllables);
          $(".sylll" + i).val(exercise.syllables)
    });

  });

});
创建
音节
输入的函数:

function getWordPartInput(id, cValue){
cValue = cValue || '';
var wpInput = $('<input/>', {
'class': 'form-group form-control syllable sylll' + TT ++,
'type': 'text',
'value': cValue,
'placeholder': 'Syllables',
'name': 'Syllablescounter['+ SyllablesID++ +']'
 });
return wpInput;
 }
函数getWordPartInput(id,cValue){
C值=C值| |'';
变量wpInput=$(''{
'class':'form group form control Syll'+TT++,
“类型”:“文本”,
“值”:cValue,
“占位符”:“音节”,
“名称”:“音节计数器['+音节ID++']”
});
返回输入;
}


那么我该怎么做才能得到我想要的结果呢?

以下是一些JavaScript解决方案,用于解决问题标题中定义的问题:

var json={
“主对象”:{
“id”:“新”,
“getExerciseTitle”:“TestFrontEnd”,
“语言”:“nl_nl”,
“应用程序”:“lettergrepen”,
“主对象”:{
“标题”:“测试前端”,
“语言”:“nl_nl”,
“练习”:[{
“单词”:“huisarts”,
“音节”:[
“回族”,
“艺术”,
"",
""
]
},
{
“单词”:“voetbal”,
“音节”:[
“哇”,
“bal”,
"",
""
]
}
]
},
“数据类型”:“json”
}
}
var exercise=json.main_object.main_object.exercises;
forEach(函数(ex)的练习{
log(“对于单词“+ex.word+”,教学大纲是:”;
例如音节。forEach(函数(sy,i){
console.log(i+1+“”+sy);
})

})
像这样更新循环函数,请参见

exercise.map(a=>{
    console.log("Word is "+a.word);
    a.syllables.map(b=>{
        console.log("Syllable is"+b)
    })
}
);

这就是注释中提到的逻辑

您可以尝试在另一个内部调用map函数吗。第一个映射用于
练习
,在其中调用另一个带有数组
的映射(练习。音节
?另请参见: