Получить все значения, доступные в массивах x, ключом в строку - PullRequest
0 голосов
/ 03 июня 2019

У меня есть этот код, который был предложен для фильтрации и возврата всех значений из массива по дате:

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" из всех массивов, которые могут существовать, и поместить их в одну строку.

Я ясно дал понять или мне нужно больше объяснений? Любая помощь будет потрясающей

1 Ответ

0 голосов
/ 03 июня 2019

Вы можете использовать $.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>";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...