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 должен быть только массивом и все его елементы должны быть интовыми.
  • Вопрос задан
  • 233 просмотра
Пригласить эксперта
Ответы на вопрос 1
edli007
@edli007
full stack, team lead
Вариантов несколько

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

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

Войти через центр авторизации
Похожие вопросы