Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何循环数组以显示表中所有行的所有数据?_Javascript_Arrays_For Loop_Foreach_Iteration - Fatal编程技术网

Javascript 如何循环数组以显示表中所有行的所有数据?

Javascript 如何循环数组以显示表中所有行的所有数据?,javascript,arrays,for-loop,foreach,iteration,Javascript,Arrays,For Loop,Foreach,Iteration,我创建了一个HTML页面,要求用户填写搜索表单,然后单击“搜索”按钮以显示结果 单击Search按钮时,如果表单字段不是空的,则在2秒钟后会显示一些数据,我使用Javascript setTimeout方法实现了这一点 要显示的数据由几个名称、姓氏和地址组成,它们与表中名为Name、姓氏和Address的三个名称中的三个名称相对应 在js文件中,我创建了一个名为myArray的新变量: 我想循环myArray以显示所有的名称、姓氏和地址序列,而不必全部键入它们。我正试图使用Javascript

我创建了一个HTML页面,要求用户填写搜索表单,然后单击“搜索”按钮以显示结果

单击Search按钮时,如果表单字段不是空的,则在2秒钟后会显示一些数据,我使用Javascript setTimeout方法实现了这一点

要显示的数据由几个名称、姓氏和地址组成,它们与表中名为Name、姓氏和Address的三个名称中的三个名称相对应

在js文件中,我创建了一个名为myArray的新变量:

我想循环myArray以显示所有的名称、姓氏和地址序列,而不必全部键入它们。我正试图使用Javascript for循环方法来实现这一点:

    function validateNome(){
  console.log('function validateNome has been activated');
  if ($("#inlineFormInputNome").val()=="") {
      $("#errorLog").show();
  } else {      
    $("#errorLog").hide();   
    $("#cercaNome").prop("disabled", true);
    $("#tbody").empty();
    setTimeout(function (){
      //ID alert bootstrap      
      //$("#tbody").empty().append('<tr><th scope="row">1</th><td>Maria</td><td>Ottone</td><td>Viale della Resistenza 1, 53100 Siena (SI)</td></tr>');
      // aggiungi un'array e mostra i dati dell'array

      var myArray = [
      //first row
        [
          ["Mary", "Otto", "1204 Stoney Ridge"],
          ["Paula", "Red", "445 Mount Eden Road"],
          ["Jack", "Twist", "21 Greens Road RD 2"]
        ],

      //second row
        [
          ["Oliver", "Howick", "32 Wilson Street"],
          ["Jean", "Bros", "address 5"],
          ["Antoine", "Lavoisier", "Via Flogisto 1"]
        ],
      //third row
        [
          ["Benny", "Fair", "address 7"],
          ["Corinne", "Robespierre", "address 8"],
          ["Michael", "Mury", "address 9"]
        ]
      ];

        for(var i=0; i<myArray.length; i++) {
          $("#tbody").append  ('<tr><th scope="row"> </th><td> myArray [0][0][0]</td> <td>myArray [0][0][1]</td><td> myArray [0][0][2] </td></tr>');
      }
      $("#tabella").show();
      $("#cercaNome").prop("disabled", false);
    } , 2000);
  }
}
其中myArray[0][0][0]与Mary对应,myArray[0][0][1]与Otto对应,myArray[0][0][2]与1204 Stoney Ridge对应


单击按钮时,如何循环数组以显示表中三个不同行的所有27个数据?

此时您正在使用局部变量i在myArray上进行迭代。您需要使用它引用数组中的一行

myArray[i][0]
每行包含三个附加数组

myArray[i][0] myArray[i][1] myArray[i][2]
可以使用另一个嵌套的for循环来访问它们,如

for (var i = 0; i < myArray.length; i++) {
  for (var j = 0; j < myArray[0][0].length; j++) {
    console.log(myArray[i][j]);
  }
}
myArray[i][0] myArray[i][1] myArray[i][2]
for (var i = 0; i < myArray.length; i++) {
  for (var j = 0; j < myArray[0][0].length; j++) {
    console.log(myArray[i][j]);
  }
}
for (var i = 0; i < myArray.length; i++) {
  for (var j = 0; j < myArray[0][0].length; j++) {
    $("#tbody").append("<tr><th scope='row'> </th><td>" + myArray[i][i][0] + "</td> <td>" + myArray[i][j][1] + "</td><td>" + myArray[i][i][2] + "</td></tr>");
  }
}