将数组与JS进行比较并在矩阵表中打印结果

时间:2018-02-05 09:00:38

标签: javascript arrays matrix html-table

我试图通过组合数组中的值来制作矩阵表。第一个数组保存有关特定日期的用户的信息。第二个数组包含用户列表,第三个数组包含每月的日期。

首先我从api获取数据。

var odgovor = JSON.parse(http.responseText);
dataSetMoj = odgovor.urvPoDanuZaMjesec;
dataSetMojUposlenik = odgovor.uposlenici;

获得一个月的日子

var mjesecImaDana = getDaysInMonth(1,2018);

var daniMjeseca = [];
for (i = 1; i <= mjesecImaDana; i++) {
daniMjeseca.push([i]);
}

然后我创建表头

var k = '<thead>';
k +='<tr><th style="background-color: #f8f7f7" >' + rb + '</th>';
k +='<th style="background-color: #f8f7f7" >' + up + '</th>';

daniMjeseca.forEach(function(daysInmonth){
    k += '<th style="background-color: #f8f7f7"> '+ daysInmonth +'</th>';
});
k += '</tr></thead>';

表格标题显示正确的信息,如图所示。

Array rezultati保存有关特定日期每个用户的信息

var rezultati = [];
for(i = 0;i < dataSetMoj.length; i++){ 
  rezultati.push(dataSetMoj[i].ime+'-'+dataSetMoj[i].datum+'-'+dataSetMoj[i].urv);
}

然后我创建表体,在表体中我应该将用户与日期匹配。

k += '<tbody>'

for(i = 0;i < dataSetMojUposlenik.length; i++){
    k+='<tr>';
    k+='<td> ' + a++  + '</td>';
    k+='<td> ' + dataSetMojUposlenik[i].ime + '</td>';
    daniMjeseca.forEach(function(daysInmonth){
       var dataSetVar = dataSetMojUposlenik[i].ime +'-'+daysInmonth;
        //here I should check if variable 'datSetVar' is set in array rezultati, if yes I should print dataSetMoj[i].urv from rezultati
        if(rezultati == dataSetVar ){
          k+='<td> ' + dataSetMoj[i].urv  + '</td>'; // It does not work, but I have no idea. I could not find solution any hint would help me. 
        }
      else{
        k+='<td> ' + c + '</td>';
      }

    });


k+='</tr>';

}

k+='</tbody>';

document.getElementById('tableData').innerHTML = k;

table

Array rezultati拥有三个元素dataSetVar两个。我无法比较错误的答案。

0 个答案:

没有答案