首页 > 解决方案 > 如果值未定义,如何在对象中不包含字段

问题描述

我有以下功能

const exampleFunction = (var1, var2, var3) => {
    return const targetObject = {
        var1,
        var2,
        var3,
    },
};

var2 和 var3 是可选变量。

如果所有 3 个变量都发送到此函数,那么我需要返回具有 3 个字段的对象。

如果 var2 未定义,我只需要返回带有 2 个字段的对象。如果 var3 未定义,我只需要返回带有 2 个字段的对象。

如果 var2 和 var3 未定义,我只需要返回 1 个字段的对象。

标签: javascript

解决方案


试试这个:

const exampleFunction = (var1, var2, var3) => {
    const targetObject = {};
    if (var1) targetObject.var1 = var1;
    if (var2) targetObject.var2 = var2;
    if (var3) targetObject.var3 = var3;

    return targetObject;
};

推荐阅读