Задать вопрос
vanyahuk
@vanyahuk

Как в js заменить значения одного обьекта — свойствами другого обьекта?

есть обьект:
changed: {

				filter_models: {

					adventure_state: null,

					type_id: null,

					ignore_countries: null,

					ignore_brands: null,

					ignore_models: null,

					bodies: [],

					brands: [],

					models: [],

					countries: []

				},

				additionally_filter: {

					year_from: null,

					year_to: null,

					price_from: null,

					price_to: null,

					auction_possible: null,

					exchange_car: null,

					inexpensive: null,

					broken: null,

					after_an_accident: null,

					currency_id: 1,


				},

				region: {

					regions: [],

					cities: [],

					search_neighborns: null
				},

				specifications: {

					fuels: [],

					transmissions: [],

					count_doors: {

						from: null,

						to: null

					},

					seats_number: {

						from: null,

						to: null

					},

					volume: {

						from: null,

						to: null

					},

					power: {

						from: null,

						to: null

					},

					race: {

						from: null,

						to: null
					},

					colors: {

						items: [],

						metallic: null
					},


					options: []

				}

и данные, которые приходят из браузерной строки, нужно перебрать все свойства и есле в другого будет такое конечное то заменить в предидущем,

для примера, ес.и пришла строка, я сериализировал ее в обект params, и в нем есть params.filter_models.type_id то нужно найти такое же в первом и заменить на значение из второго, и еще один момент, если приходит массив, то все его елементы должны быть переведены в integer и заменены, т.е. changed.options должен быть только массивом и все его елементы должны быть интовыми.
  • Вопрос задан
  • 237 просмотров
Подписаться 1 Сложный 3 комментария
Пригласить эксперта
Ответы на вопрос 1
edli007
@edli007
full stack, team lead
Вариантов несколько

1. Object.assign()
2. Деструктуризация
3. Proxy
4. прототип
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы