Слияние массива объектов в React - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть массив объектов типа

[{ a=1, b=4, c=4, d=6}, { a=1, b=4, c=4, d=6}, …],[{ a=1, b=4, c=4, d=6}, { a=1, b=4, c=4, d=6}, …],[{ a=1, b=4, c=4, d=6}, { a=1, b=4, c=4, d=6}, …]

, и я хотел бы, чтобы он слился в один уникальный массив, подобный этому

[{ a=1, b=4, c=4, d=6}, { a=1, b=4, c=4, d=6}, { a=1, b=4, c=4, d=6}, { a=1, b=4, c=4, d=6}, { a=1, b=4, c=4, d=6}, { a=1, b=4, c=4, d=6}, …]

Мне нужен уникальный массив для его рендеринга в плоском списке.

Ответы [ 2 ]

0 голосов
/ 30 апреля 2020

Извините за путаницу, мой плохой ... Я должен был объяснить себя лучше.

Прежде чем я получил только страницу 1 API, которая содержала 20 элементов, как в этом формате

[{"popularity": 25.41, "name": "Wan Peng","id": 2187124},{"popularity": 25.238,"name": "Jason Statham”,"id": 976},…{"popularity": 24.784,"name": "Henry Cavill","id": 73968}]

Благодаря этому я смог легко отобразить данные в плоский список.

Теперь я извлекаю 20 страниц, зацикливая мой API Fetch и конкатенируя результат

total_results = total_results + resData.results;

мои журналы сейчас выглядит так:

RESDATA TOTAL RESULTS: [object Object][object Object][object Object][object Object]

, и я бы хотел, чтобы все это было объединено в один

RESDATA TOTAL RESULTS: [object Object]

Надеюсь, мне удалось немного лучше прояснить мою проблему.

0 голосов
/ 30 апреля 2020

Использовать Flat

Чтобы сделать массив массивом на 1 уровень, используйте метод массива flat

const arr1 = [1, 2, [3, 4]];
arr1.flat(); 
// [1, 2, 3, 4]

Используйте Set

Чтобы сделать массив уникальным, преобразуйте его в Set

const myArray = ['a', 1, 'a', 2, '1'];
const unique = [...new Set(myArray)]; 

// unique is ['a', 1, 2, '1']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...