Fzero0
@Fzero0
Вечный студент

Как сравнить два массива, объектов и вывести разницу?

Приветствую, есть такая задачка из двух разных баз выгружаются остатки товаров:
var office = [
			{ name: "Карандаш", qt: 1, code: 3 },
			{ name: "Ручка", qt: 20, code: 4 }
            ],
      sklad = [
    			{ name: "Карандаш", qt: 1, code: 3 },
			{ name: "Ручка", qt: 3, code: 4 }
              ];

где name - имя, qt - количество и code - код товара, длина массивов скорее всего не одинакова и будет примерно 4000-5000, код и имя теоретически должны совпадать.
Нужно сравнить и вывести разницу где чего не хватает, обработку по выгрузке делаю не я,
1) но какие требования мне указать человеку который будет делать обработку выгрузки?
отсортировать по коду? убрать (экранировать) из имени пробелы и не печатаемые символы?
2) Как отловить те данные которые есть в одном массиве и которых нет в другом пример
3) Есть ли готовые инструменты(может можно обойтись без велосипедов)?
4)На что еще обратить внимание и что учитывать?
5)Если вы решали подобные задачи поделитесь опытом и инструментами(что Вы использовали)
  • Вопрос задан
  • 1007 просмотров
Пригласить эксперта
Ответы на вопрос 1
abyrkov
@abyrkov
JavaScripter
1. Не понял. Если вы не знаете, что вам надо от сравнения, то чем мы можем помочь вам? Если все это будет делать отдельный человек то зачем тут вопрос и вообще требования к коду?
2. Отсортировать массив по уникальным данным(в вашем случае, по коду или имени товара) и соединять элементы. На словах объяснить трудно, но могу попробовать, если надо. Можно попробовать lodash, отвечали на другой вопрос же
3. А к чему тогда вопрос 1 и 2? Нет, похожих не знаю, из-за того, что к сравнению могут быть применены совершенно разные требования. Но, возможно, чем-то ваши требования удолетворит lodash.
4. Обратить внимание на несвязанности в вашем вопросе.
5. Не решал.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы