$.each(data.data, function(idx, data){
$("#res2").append('<tr><td>' + data.CityRef + '</td><td>' + data.CityDescription + '</td></tr>');
});
в массиве у меня список городов и областей вот пример вывода:
Киев | Киевская обл. Ирперь | Киевская обл. Москва | Московская обл.
Получается с каждым выводом пишется область и она часто повторяется. Вопрос как сделать что ли группировку городов по их областям? (чтобы одна область выводилась один раз) вот так:
-Киевская обл. --Киев --Ирпень -Московская обл. --Москва ...
const data= [
{city: 'Киев', obl: 'Киевская обл.'},
{city: 'Ирперь', obl: 'Киевская обл.'},
{city: 'Москва', obl: 'Московская обл.'}
];
// Переберем массив в объект, где города разложены по областям.
const sorted = data.reduce((result, el) => {
if(result[el.obl]) result[el.obl].push(el.city);
else result[el.obl] = [el.city];
return result;
},{});
// Выведем.
for(let obl in sorted){
document.getElementById("res2").innerHTML += '<tr><td>-</td><td>' + obl + '</td></tr>';
for(let city in sorted[obl])
document.getElementById("res2").innerHTML += '<tr><td>--</td><td>' + sorted[obl][city] + '</td></tr>';
}
<table id = 'res2'></table>
Предлагаю решение "в лоб", набросал такую функцию:
function groupBy(array, fieldName) {
var result = [];
var currentArray = array;
while(currentArray.length > 0) {
var element = currentArray[0];
var groupValue = element[fieldName];
var values = currentArray.filter(function (value) {
return value[fieldName] == groupValue;
});
currentArray = currentArray.filter(function (value) {
return value[fieldName] != groupValue;
});
values = values.map(function (value) {
delete value[fieldName];
return value;
});
result.push({
group : groupValue,
values : values
});
}
return result;
}
Основная идея формировать не список, а результирующий массив, что иногда может быть полезно.
Пример
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Нужно передать userID которая поступает в компонент из вне через props в переменную в запросе USER_QUERYПриведенный ниже пример не работает, как все...
почему onclick один раз срабатывает )в форме если что добавляется textarea потом как нажимается крестик чтобы закрыть формуудаляется и textarea )я уже...