Я пытаюсь сравнить два массива, а затем отобразить результат в виде списка, оба массива извлекаются из firebase, я знаю, как получить данные (массивы) из firebase, но я не знаю, как лучше всего их сравнить . Я ожидаю, что компонент listview отобразит результат после сопоставления данных из array1 с array2. Кто-нибудь знает, как это сделать? заранее спасибо,
Массивы содержат список кодов, я хотел бы обратить внимание, если какой-либо код из array1 появляется в array2, а затем отображает соответствующий код в виде списка
я прикрепил фото моих списков
Самое простое решение: использовать вложенные циклы.
let identicalElements = [];
array1.forEach((element1) => {
array2.forEach((element2) => {
if (element1['code'] === element2['code'])
identicalElements.push(element1['code']);
});
});
console.info(identicalElements);
Может быть много более быстрых решений, но для случаев использования, когда элементов массива не так много, я думаю, это дает приличную рентабельность инвестиций.
вместо запуска console.info () мне нужно сохранить / сохранить элемент в списке, я попытался сделать, например, return {... element2.code}, но у меня возникла ошибка .. есть идеи, как это сделать?
Обновил ответ. В конце цикла массив identicalElements
будет иметь все коды, которые встречаются в обоих исходных массивах.
Когда вы говорите «сравнить», что вы ищете? Разница между массивами? Пересечение?