У меня есть два массива a и b , массив a - это реактивный массив, который содержит реактивные объекты, мой массив связан с моим пользовательским интерфейсом (т.е. просто зацикливается элемент
и отображение данных), когда я обновляю какие-либо объекты массива или когда я изменяю любое свойство объектов в массиве, мой слой представления автоматически обновляется. Теперь я пытаюсь создать функцию, которая получает мой массив и обновляет только обновленное или измененное свойство массива
a , не затрагивая необновленные данные массива или не обновленное свойство объекта, который находится внутри массива
a * 1011. * глядя на массив b .
Я не использую JavaScript или фреймворк. У меня были проблемы при глубоком клонировании массива b и помещении клонированного массива в переменную a Я пытался клонировать, но моя проблема не была решена. Пожалуйста, помогите мне.
var a = [
{name:'mina' , age:18 , subject:'computer'}, //
{name:'japan'}
];
var b = [
{name:'mina pandey' , age:19 , subject:'computer'},
{name:'okkk' , aws:false}
]
function LogicalUpdator(updating , newData) {
newData.forEach((el , index) => {
if(typeof el == 'object'){
var keys = Object.keys(el);
keys.forEach(function(a){
if(updating[index][a] !== el[a]){
updating[index][a] = el[a];
}
})
}else if(Array.isArray(el)){
el.forEach(function(a){
if(updating[index] !== el[a]){
updating[index] = el[a];
}
})
}else if(typeof el == 'string'){
}
});
}
BestUpdate(a , b);
Я написал более 10 раз, но не смог решить. Я старался изо всех сил, пожалуйста, помогите мне.
Детальная задача по коду: -
Из массива a [0] name
следует преобразовать в mina pandey
, взглянув на b[0].name
, аналогично a[0].age
следует преобразовать в 19
, взглянув на массив b b[0].age
, но a[0].subject
т. Е. computer
не следует изменять, поскольку a[0].subject == b[0].subject
, аналогично a[1].name
, т. Е. japan
, следует изменить на b[1].name
, т. Е. okkk
, а новое свойство aws
следует добавить в a[1]
, поскольку b[1]
имеет новое свойство aws
, глядя на a
аналогично, когда новые данные (i.e object, array, number, boolen , string)
добавляются в массив b , тогда те же данные должны добавляться в массив a то же самое в удаленном случае, когда любые данные удаляются из массива b , затем те же данные должны быть удалены из массива a .
Пожалуйста, не спрашивайте меня, почему вы не обновляете массив напрямую a (Реактивный массив). Есть несколько глубоких и подлинных причин, связанных с моим проектом, которые содержат эту небольшую проблему. Извините, я не могу рассказать о моем проекте с переполнением стека или каких-либо публичных сайтах.
Пожалуйста, помогите мне, мне было очень трудно решить эту проблему, потому что я просто ученик, у меня нет глубоких знаний, чтобы справляться с такими сложными проблемами.