нет функции .keys() и .values()? пришлось тут сделать вот что, есть массив объектов, их надо отфильтровать, потом склеить те, у которых одно из полей совпадает, и потом для каждого сделать кое-что. получилось уродливое говно
const groupedEntities = entities.filter(el => el.retail).reduce((acc, el) => ({ ... acc, [el.type]: el }), {})
Object.keys(groupedEntities).map(el => groupedEntities[el]).forEach(el => ...)
а были бы эти методы, можно было бы нормально зачейнить:
entities.filter(el => el.retail).reduce((acc, el) => ({ ... acc, [el.type]: el }), {}).values().forEach(el => ...)
это я с LINQ переигрался или мне не зря кажется, что это упущение?
entities.reduce((acc, v) => v.retail ? acc.set(v.type, v) : acc, new Map()).values(/* same as forEach */)
Люди имеют право использовать поля .keys и values в объектах по своему усмотрению, а не на усмотрения дяди рантайма
Обсуждают сегодня