JavaScript中检查对象属性和赋值的有效方法

3mpgtkmj  于 2023-06-20  发布在  Java
关注(0)|答案(2)|浏览(121)

我有一个Javascript对象otherObj,我根据otherObj的非未定义值动态构造myObj。到目前为止,我手动比较和分配如下。但我想知道是否有更有效的方法...也不确定是否有可能使它更有活力。比如说,如果将来添加了attr3,也会自动考虑。

let myObj = {};
if (otherObj.attr1 !== undefined) {
    myObj['attr1'] = otherObj.attr1;
}
if (otherObj.attr2 !== undefined) {
    myObj['attr2'] = otherObj.attr2;
}
js81xvg6

js81xvg61#

您可以尝试使用for...in来迭代otherObj的属性,并有条件地将它们分配给myObj

let myObj = {};

for (let prop in otherObj) {
  if (otherObj[prop] !== undefined) {
    myObj[prop] = otherObj[prop];
  }
}
6uxekuva

6uxekuva2#

您可以使用Nullish coalescing operator

["attr1","attr2"].forEach(attr = myObj[attr] = otherObj[attr] ?? "";

如果otherObj[attr]是一个对象,请小心。如果不希望myObj上的后续操作影响otherObj,则需要克隆它

相关问题