Найти в Дзене

Новинки JS в 2023 году - Object.groupBy

Object.groupBy(items, callbackFn) - статический метод группирует элементы данного массива объектов в соответствии со строковыми значениями, возвращаемыми предоставленным колюэком. Возвращаемый объект имеет отдельные свойства для каждой группы, содержащие массивы с элементами в группе. Например: const someFruits = [ { name: "asparagus", type: "vegetables", quantity: 5 }, { name: "bananas", type: "fruit", quantity: 0 }, { name: "goat", type: "meat", quantity: 23 }, { name: "cherries", type: "fruit", quantity: 5 }, { name: "fish", type: "meat", quantity: 22 }, ]; const result = Object.groupBy(inventory, ({ type }) => type); В результате вернется:
{
vegetables: [
{ name: 'asparagus', type: 'vegetables', quantity: 5 },
],
fruit: [
{ name: "bananas", type: "fruit", quantity: 0 },
{ name: "cherries", type: "fruit", quantity: 5 }
],
meat: [

Object.groupBy(items, callbackFn) - статический метод группирует элементы данного массива объектов в соответствии со строковыми значениями, возвращаемыми предоставленным колюэком. Возвращаемый объект имеет отдельные свойства для каждой группы, содержащие массивы с элементами в группе.

Например:

const someFruits = [

{ name: "asparagus", type: "vegetables", quantity: 5 },

{ name: "bananas", type: "fruit", quantity: 0 },

{ name: "goat", type: "meat", quantity: 23 },

{ name: "cherries", type: "fruit", quantity: 5 },

{ name: "fish", type: "meat", quantity: 22 },

];

const result = Object.groupBy(inventory, ({ type }) => type);

В результате вернется:
{
vegetables: [
{ name: 'asparagus', type: 'vegetables', quantity: 5 },
],
fruit: [
{ name: "bananas", type: "fruit", quantity: 0 },
{ name: "cherries", type: "fruit", quantity: 5 }
],
meat: [
{ name: "goat", type: "meat", quantity: 23 },
{ name: "fish", type: "meat", quantity: 22 }
]
}