Добавить объект JavaScript к существующему ключу объекта ⇐ Jquery
-
Anonymous
Добавить объект JavaScript к существующему ключу объекта
У меня есть несколько строк (счетов) с некоторыми данными, включая «идентификатор клиента». Я хотел бы создать объект с каждым идентификатором клиента и соответствующими счетами. Текущая функция у меня выглядит так:
var клиенты = {}; $('.invoice').each(function() { var счета-фактуры = $(this).find('.invoiceid').text(); var clientid = $(this).find('.client').text(); var Providerid = $(this).find('.provider').text(); var sum = $(this).find('.amount').text(); клиенты [clientid] = { 'invoiceid': инвойсид, 'провайдерид': идентификатор поставщика, 'сумма': сумма, }; }); Проблема в том, что каждый новый счет с тем же идентификатором клиента перезаписывает предыдущие, поскольку у меня не может быть дубликатов ключей. Поэтому мне нужен «клиент» первого уровня, в который я добавляю разные счета. Такая структура:
вар клиенты = { клиент-abc123: { счет-456xyz: { провайдер: Джон сумма : 123 }, счет-789ghi: { провайдер: марк сумма: 45 } } клиент-iop654: { ... } } Я полагаю, что один из способов сделать это — проверить для каждого счета-фактуры, существует ли ключ клиента; если нет, создайте его, а затем добавьте счет к этому ключу клиента. Но я новичок в объектах и после многих попыток не могу найти правильный путь.
У меня есть несколько строк (счетов) с некоторыми данными, включая «идентификатор клиента». Я хотел бы создать объект с каждым идентификатором клиента и соответствующими счетами. Текущая функция у меня выглядит так:
var клиенты = {}; $('.invoice').each(function() { var счета-фактуры = $(this).find('.invoiceid').text(); var clientid = $(this).find('.client').text(); var Providerid = $(this).find('.provider').text(); var sum = $(this).find('.amount').text(); клиенты [clientid] = { 'invoiceid': инвойсид, 'провайдерид': идентификатор поставщика, 'сумма': сумма, }; }); Проблема в том, что каждый новый счет с тем же идентификатором клиента перезаписывает предыдущие, поскольку у меня не может быть дубликатов ключей. Поэтому мне нужен «клиент» первого уровня, в который я добавляю разные счета. Такая структура:
вар клиенты = { клиент-abc123: { счет-456xyz: { провайдер: Джон сумма : 123 }, счет-789ghi: { провайдер: марк сумма: 45 } } клиент-iop654: { ... } } Я полагаю, что один из способов сделать это — проверить для каждого счета-фактуры, существует ли ключ клиента; если нет, создайте его, а затем добавьте счет к этому ключу клиента. Но я новичок в объектах и после многих попыток не могу найти правильный путь.
Мобильная версия