我有这段代码,它建议按日期过滤并返回数组中的所有值:
var resultado = $.grep(data, function(obj) {
return obj.start === ano + "-" + mes + "-" + diaMes;
});
if (resultado.length > 0) {
nomeUtilizador = resultado[0].nomeUtilizador;
totalDias = resultado[0].totalDias;
}
if (totalDias >= 1) {
for (i = 0; i < totalDias; i++) {
lista += '<tr><td>' + e + '</td>';
lista += '<td>' + nomeUtilizador + '</td>';
lista += '</tr>';
if (i < totalDias - 1)
e++;
}
} else {
lista += '<tr><td>' + e + '</td>';
lista += '<td>' + nomeUtilizador + '</td>';
lista += '</tr>';
}
如您所见,我在$.grep(data, function(obj){..
中得到了一个数组
在if (resultado.length > 0)...
中,我选择0或1,例如:resultado[0].nomeUtilizador
。
我想要的是所有可能存在的数组中的所有"nomeUtilizador"
,并将它们放在一个字符串中。
我说得够清楚了吗?还是我需要更多的解释?任何帮助都是很棒的
发布于 2019-06-03 20:28:10
您可以使用$.map()
:http://api.jquery.com/jQuery.map/
类似于$.grep()
,但根据回调返回转换或展平结果,例如:
var resultado = $.grep(data, function(obj) {
return obj.start === ano + "-" + mes + "-" + diaMes;
});
var names = $.map(resultado, function(obj) {
return obj.nomeUtilizador;
});
这将为您提供一个包含所有"nomeUtilizador“的数组,然后您可以根据需要将其转换为字符串,例如:
console.log(names.join(", "))
lista += "<td>" + names.join("</td><td>") + "</td>";
https://stackoverflow.com/questions/56426685
复制相似问题