我有两个数组 a 和 b ,数组 a 是反应性数组,其中包含反应性对象,我的数组与UI绑定(例如,当我更新数组的任何对象或更改数组中对象的任何属性时,即简单地循环遍历
我没有使用任何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);
我写了十次以上,但我解决不了。我尽力了,请帮助我。
根据代码的详细问题:-
从数组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
处的外观类似当在数组 b 上添加了新数据(i.e object, array, number, boolen , string)
时,应将相同的数据添加到数组 a ,在删除数组的情况下,相同的数据应删除。 b ,则也应从数组 a 中删除相同的数据。
请不要问我为什么不直接更新数组 a (反应性数组),有一些与我的项目相关的深层,真实的原因,其中包含这个小问题。抱歉,我无法解释我的项目在堆栈溢出或任何公共站点上的情况。
请帮助我,我很难解决这个问题,因为我只是一个学习者,我不具备处理此类复杂问题的丰富知识。