我有一个Javascript对象otherObj,我根据otherObj的非未定义值动态构造myObj。到目前为止,我手动比较和分配如下。但我想知道是否有更有效的方法...也不确定是否有可能使它更有活力。比如说,如果将来添加了attr3,也会自动考虑。
let myObj = {};
if (otherObj.attr1 !== undefined) {
myObj['attr1'] = otherObj.attr1;
}
if (otherObj.attr2 !== undefined) {
myObj['attr2'] = otherObj.attr2;
}
2条答案
按热度按时间js81xvg61#
您可以尝试使用for...in来迭代
otherObj
的属性,并有条件地将它们分配给myObj
:6uxekuva2#
您可以使用Nullish coalescing operator
如果otherObj[attr]是一个对象,请小心。如果不希望myObj上的后续操作影响otherObj,则需要克隆它