Проверьте, все ли ключи существовали в массиве объектов, если не найдены, добавьте его в массив

если у меня есть этот массив объектов. Я хочу добавить недостающие ключи из массива объектов. Для каждого отсутствующего ключа в конечном массиве должно быть три записи с пустым полем имени.

myArray = [{id: 1, name: 'John'},
           {id: 1, name: 'Ray'},
           {id: 1, name: 'Elliot'},
           {id: 3, name: 'Elli'},
           {id: 3, name: 'Smith'},
           {id: 3, name: 'John'}]

my expected output should loook like:
expectedArray  = [{id: 1, name: 'John'},
                  {id: 1, name: 'Ray'},
                  {id: 1, name: 'Elliot'},
                  {id: 2, name: ''},
                  {id: 2, name: ''},
                  {id: 2, name: ''},
                  {id: 3, name: 'campbell’},
                  {id: 3, name: 'Smith'},
                  {id: 3, name: 'John'},
                  {id: 4, name: ''},
                  {id: 4, name: ''},
                  {id: 4, name: ''}]

Я пробовал разными способами решить эту задачу, но не смог. Не могли бы вы помочь мне, как я могу это сделать? Спасибо.

ваш вопрос, образцы ввода и вывода не совпадают. в вашем expectedArrayid:2, name: 'Campbell' не должно быть, имя должно быть пустым. Кроме того, где пропали didid: 3, name: 'Elli'? возможно, вы захотите еще раз взглянуть на ваш образец ввода и вывода, а также предоставить немного больше объяснений вашей логики.

Sudipta Mondal 13.08.2018 06:00

Извините, я отредактировал вопрос

AnonymousCoder 13.08.2018 06:30
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
4
2
41
1

Ответы 1

Я предполагаю, вы имеете в виду, что если все свойства данного объекта не такие же, как у объекта, найденного в списке объектов, добавьте его в список.

Вы могли бы сделать это

const givenObject = {
  id: 4,
  name: ''
};

myArray.forEach(obj => {
  if (obj.id !== givenObject.id || obj.name !== givenObject.name) {
    myArray.push(givenObject);
    myArray.push(givenObject);
    myArray.push(givenObject);
  }
})

Любой из заданных объектов в массиве нужно добавить трижды, если они отсутствовали в myArray

AnonymousCoder 13.08.2018 07:26

Один и тот же объект нужно добавить три раза?

Prashant K 13.08.2018 08:00

Отредактировал мой ответ, чтобы помочь вам с этим.

Prashant K 13.08.2018 08:01

Другие вопросы по теме