javascript - Как соединить 2 массива объектов возвращаемых сервером?


-2

С сервера(nodejs) получаю 2 объекта json вида (в мой клиентский angular 7):

obj1 = [{some: "any"}, {some1: "any1"}]
obj2 = [{some2: "any2", some3: "any3"}, {some4: "any4", some5: "any5"}]

Как их можно объединить или создать новый третий или что то, это не важно, чтобы получилось такое:

obj3 = [{some: "any"}, {some1: "any1"},{some2: "any2", some3: "any3"}, {some4: "any4", some5: "any5"}]

Я искал ответ в гугле в тч, на stackoverflow, но concat мне точно не помогает,

obj3= [obj1, obj2]

Делает ненужный мне вид

obj3 = [[...], [...]]

Что можно мне сделать?

Источник
  •  1313
  •  1
  • 18 янв 2019 2019-01-18 10:29:42
@Adel Khalitov, в первом комментарии указано решение 2 с оператором spread, вы точно этот вариант пробовали? — 18 янв 20192019-01-18 10:44:17.000000
@MishaSaidov, в вопросе же есть Делает ненужный мне вид: obj3 = [[...], [...]] 18 янв 20192019-01-18 10:40:47.000000
Что мешает так и писать obj3= [obj1, obj2]? — 18 янв 20192019-01-18 10:40:12.000000
Я описал, это не работает у меня. 1) Выводит ошибку что obj2 undifined поэтому он не может применить concat 2) Делает не нужный мне вид [ [...], [...] ] — 18 янв 20192019-01-18 10:32:26.000000
1. obj1.concat(obj2) 2. [...obj1, ...obj2] 18 янв 20192019-01-18 10:30:45.000000

1 ответ

2

Действительно преобразовав возвращаемые данные в тип Array я смог использовать .concat, спасибо @MishaSaidov

Хотя это не по правилам форума плюсовать такие ответы, но вежливому человеку, который разобрался в проблеме, ИМХО, есть смысл поправить "карму" :) — 18 янв 20192019-01-18 11:40:34.000000