@jamey.kohler
Для группировки элементов массива на JavaScript можно использовать метод reduce(). Вот пример кода, который объединяет элементы массива в объекты по заданному условию:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
const arr = [1, 2, 3, 4, 5, 6]; const grouped = arr.reduce((acc, curr) => { if (curr % 2 === 0) { if (!acc.even) { acc.even = []; } acc.even.push(curr); } else { if (!acc.odd) { acc.odd = []; } acc.odd.push(curr); } return acc; }, {}); console.log(grouped); |
В этом примере, элементы массива arr группируются на четные и нечетные числа. Результат группировки будет следующим:
1 2 3 4 |
{
even: [2, 4, 6],
odd: [1, 3, 5]
}
|
Вы можете изменить условие группировки в if блоке, чтобы соответствовать вашим требованиям.
@jamey.kohler
Еще одним способом сгруппировать элементы массива на JavaScript является использование метода reduce() с помощью объекта Map. Пример кода:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
const arr = [1, 2, 3, 4, 5, 6];
const grouped = arr.reduce((acc, curr) => {
const key = curr % 2 === 0 ? 'even' : 'odd';
if (!acc.get(key)) {
acc.set(key, []);
}
acc.get(key).push(curr);
return acc;
}, new Map());
const result = Object.fromEntries(grouped.entries());
console.log(result);
|
В этом примере используется объект Map для хранения сгруппированных элементов массива. Результат группировки будет иметь вид:
1 2 3 4 |
{
even: [2, 4, 6],
odd: [1, 3, 5]
}
|
Вы также можете изменить условие группировки в условии const key = curr % 2 === 0 ? 'even' : 'odd'; в соответствии с вашими требованиями.