仅更新非空字段|对象传播 [英] Update only non-empty fields | Object spread
本文介绍了仅更新非空字段|对象传播的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想知道像这样的东西是否可能有一个衬里
I was wondering if there is a one liner is possible for something like
let updatedUser;
if (firstName) {
updatedUser = { ...userData, firstName };
}
if (lastName) {
updatedUser = { ...userData, lastName };
}
if (password) {
updatedUser = { ...userData, password };
}
我只是检查空的firstName,lastName等.如果我有几个这样的字段怎么办?
I'm just checking for empty firstName, lastName and so forth. What if I have several fields like this?
因此,如果我写的话,我不想用空值更新我的任何字段
So I don't want to update any of my fields with empty values if I write
updatedUser = { ...userData, firstName, lastName, password };
如果我的字段为空,是否存在可能告诉对象散布或其他任何内容不更新的替代方法?
Any possible alternative that exists that can tell object spread or anything else to not update if my field is empty?
推荐答案
您可以使用
const updatedUser = Object.assign({},
userData,
firstName && {firstName},
lastName && {lastName},
password && {password}
);
或类似的对象传播语法:
or similar with object spread syntax:
const updatedUser = {
...userData,
...firstName && {firstName},
...lastName && {lastName},
...password && {password}
};
虚假值将被忽略,不会导致任何属性的创建.
Falsy values will be ignored and not lead to the creation of any properties.
这篇关于仅更新非空字段|对象传播的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文