export function mergeWithOutNone(source, target) { Object.keys(target).forEach(key => { if ( (target[key] !== "" && !source[key]) || (target[key] !== "" && source[key] === "") ) { source[key] = target[key]; } }); return source; }
时间: 2023-06-18 13:07:06 浏览: 114
这是一个 JavaScript 函数,其作用是将一个对象(target)的非空属性值合并到另一个对象(source)中,如果属性值为空,则不进行合并。
具体来说,函数首先使用 Object.keys() 方法获取目标对象(target)的所有属性名,然后通过 forEach() 方法对每个属性进行遍历。
在遍历的过程中,如果目标对象(target)的某个属性值不为空且在源对象(source)中对应属性值为空,或者目标对象(target)的某个属性值不为空且在源对象(source)中对应属性值也不为空,那么就将目标对象(target)的这个属性值合并到源对象(source)中对应的属性值上。
最后,函数返回合并后的源对象(source)。
需要注意的是,该函数会改变源对象(source)的属性值,因此在实际使用时需要注意不要让源对象(source)和目标对象(target)引用同一个对象,以免出现意外情况。
阅读全文