注意两个对象相似(比如form表单),千万不要直接赋值(会把对象的属性也变化),很容易漏掉一些属性。比如此次CheckBox报length的错误,就是因为用于存放checkbox复选框选项的数组进过赋值后,
为undefined,当然会报length的错误了。
两个对象赋值:
var obj1 = {first:'1',second:'2',third:'3',forth:'4',animal:'猴子',fruits:'苹果'}
var obj2 = {first:'one',second:'two',third:'three',country:'chinese'}
var func = function (obj1,obj2) { // 将对象一 赋给对象二
for (let item1 in obj1){
for (let item2 in obj2){
if(item1 === item2){
obj2[item2] = obj1[item1]
}
}
}
return obj2
}
var a =func(obj1,obj2)
console.log(a)
注意:最好不要使用该遍历方法,影响性能,如果数据少就一个属性一个属性的写吧,如果数据多,去LeetCode上看,上面应该有时间复杂度更低的算法。