有条件地创建 json object
Conditionally create json object
我正在使用 APISauce 向我的服务器创建 post 请求。
这很好用,id, title and desc
是我传入函数的变量。
return client.post("/锻炼", {
用户ID:身份证,
标题:标题,
描述:描述,
});
描述是可选的,如果值为空,我不能post它。
我可以这样做-
if (desc){
return client.post("/workout", {
userId: id,
title: title,
description: desc,
});
}else
return client.post("/workout", {
userId: id,
title: title,
});
但这有很多重复,所以我只想检查是否有更有效的方法?我可以检查 JSON object 中的描述字段吗?
你可以写
client.post("/workout", {
userId: id,
title: title,
description: desc,
});
不需要支票。如果 desc
未定义,当字符串化为 JSON 时,键 description
将被删除。
按照 Dave Newton 在评论中提出的建议,它会像下面这样工作
const body = {
userId: id,
title
};
if (desc) {
body.description = desc;
}
client.post('/workout', body);
你只创建了一次对象,如果 属性 存在,你就在对象上设置它。
我正在使用 APISauce 向我的服务器创建 post 请求。
这很好用,id, title and desc
是我传入函数的变量。
return client.post("/锻炼", {
用户ID:身份证,
标题:标题,
描述:描述,
});
描述是可选的,如果值为空,我不能post它。
我可以这样做-
if (desc){
return client.post("/workout", {
userId: id,
title: title,
description: desc,
});
}else
return client.post("/workout", {
userId: id,
title: title,
});
但这有很多重复,所以我只想检查是否有更有效的方法?我可以检查 JSON object 中的描述字段吗?
你可以写
client.post("/workout", {
userId: id,
title: title,
description: desc,
});
不需要支票。如果 desc
未定义,当字符串化为 JSON 时,键 description
将被删除。
按照 Dave Newton 在评论中提出的建议,它会像下面这样工作
const body = {
userId: id,
title
};
if (desc) {
body.description = desc;
}
client.post('/workout', body);
你只创建了一次对象,如果 属性 存在,你就在对象上设置它。