所以,我遇到了一个问题,如果我找不到值或者它未定义,我通常会返回空字符串。像这样:
return {
_method: 'update',
link: get(media, 'link', ''),
caption: get(media, 'caption', '')
};
其中get()
是一个lodash函数,如果它在提供的路径中找不到值,则只返回一些东西(在本例中为空字符串)。
然而,如果该字段不存在,我现在需要返回任何内容,我试过
return {
_method: 'update',
get(media, 'link', '') ? link: media.link : '',
get(media, 'caption', '') ? link: media.caption : '',
};
但这不是有效的语法。
答案 0 :(得分:1)
如果您不能拥有该字段,则不要动态创建对象。使用类似的东西:
obj = {};
// add static values here.
obj["_method"] = 'update';
// dynamic now
if (get(media, 'link', ''))
obj["link"] = media.link;
if (get(media, 'caption', ''))
obj["caption"] = media.caption;
// And finally return the obj.
return obj;
这是我能想到的最佳方式。