есть обьект:
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 должен быть только массивом и все его елементы должны быть интовыми.