javascript - 如何在不重复整个对象的情况下返回几乎相似的对象
问题描述
我有一个 javascript 对象,如下所示:
something = {
a: 1,
b: 2,
c: 3,
}
在我的“<code>if”条件下,我想返回上面的对象,但在我的“<code>else”条件下,我想返回相同的对象但没有第三个属性。
c: 3
有没有一种方法可以做到这一点,而无需在 else 条件下重复或再次写入对象并排除第三个属性 (c:3) 希望我把问题说清楚了。我这样做的原因是因为我的if
条件非常大,我不想在else
块中再次编写它,因为它会重复整个if
逻辑,但属性会少一个。如果我无法解释我的问题,请告诉我
解决方案
使基础对象不带c
,然后在中添加c
属性if
:
const base = {
a: 1,
b: 2,
};
if (cond) {
return { ...base, c: 3 };
} else {
return base;
}
另一种选择,通过使用&&
有条件地在c
属性中传播:
return {
a: 1,
b: 2,
...(cond && { c: 3 })
};
推荐阅读
- python - 在 cmd2 中捕获 do 函数结果
- sql - 如何在 Oracle 中更改视图的列大小
- java - 使用嵌套 switch 语句太多有什么问题吗?
- c# - 实体框架中的复合唯一更新冲突
- bash - 检查今天是否是星期天的程序
- google-api-dotnet-client - .Net Client Google.Cloud.Storage.V1.StorageClient UploadObjectAsync 503 周期性报错,频率低
- c++ - Typedef 变量的模板类编译问题
- c++ - C ++ Lambda - 错误:没有匹配的调用函数
- css - 固定元素上的径向框阴影
- mysql - Map的ElementCollection
未使用 Map 键创建的集合表作为表键的一部分