Поскольку мы хотим удалить дубликаты, это должно привести к использованию # 2. По крайней мере, в следующий раз вы начнете идти по правильному пути!

аюсь использовать lodash, чтобы сначала посчитать, сколько дубликатов в массиве объектов и удалить дубликаты (сохраняя счетчик).

Код, который у меня есть, кажется, работает, но я не могу понять, как объединить их (извините, новинка с lodash).

Вот некоторый код:

var array = [
{id: 1, name: "test"},
{id: 2, name: "test 2"},
{id: 3, name: "test 3"},
{id: 4, name: "test 4"},
{id: 1, name: "test "},
{id: 2, name: "test 2"},
]

// This finds the duplicates and removes them
result = _.uniqBy(array, 'id')

// this counts how many duplicates are in the array
count = _(result)
.groupBy('id')
.map((items, name) => ({ name, count: items.length }))
.value();

Я хотел бы посчитать, затем удалить, но сохранить счет, так что конечный результат в основном скажет мне, сколько товаров в заказе, но сохранил то же самое и изменил количество от 1 до 2.

Я попытался с этим, но это не работает:

result = _(result)
  .groupBy('id')
  .map((items, name) => ({ name, count: items.length }))
  .uniqBy(result, 'name')
  .value()

что даст мне что-то вроде этого:

result = [
{id: 1, name: "test", qty: 2},
{id: 2, name: "test 2", qty: 2},
{id: 3, name: "test 3", qty: 1},
{id: 4, name: "test 4", qty: 1}
]

Любая помощь?

Спасибо

Ответы на вопрос(2)

Ваш ответ на вопрос