gpt4 book ai didi

javascript - 在 Node JS 中仅使用包含数据的变量的正确方法是什么?

转载 作者:行者123 更新时间:2023-11-30 13:47:59 25 4
gpt4 key购买 nike

我一直在研究 Node JS 和 Swift 中的这个问题。我的 iOS 应用程序中有一个“表单”,它提供了以下 3 个选项:

  • 更新信用卡的到期日
  • 更新信用卡的到期年份
  • 完全更新默认信用卡

在某些情况下,用户可能只更新默认卡片,只更新其中一个日期或同时更新这两个日期,而不更新默认卡片。两个 dates.etc,任何可能的更新场景。

我的问题是,如何让这个函数接受空白或空输入?我知道我可以首先将 CONST 变量设置为 null,但是如何防止将其作为空白提交给 strip 并清除数据或出错?例如,如果 const newdefault 为空,我如何确保 default_source 没有更新为空数据?

我会使用过滤器命令并将它们放入数组中吗?这些已经在 J​​SON 字符串中,所以我不确定数组是否有效。此外,如果所有 3 个都是空白(意思是,没有人更新到期月份或年份,或者选择默认值,那么他们将无法使用该函数,我的 Swift 代码中有一个空检查器)

请参阅下面的注释代码::

exports.updateCard = functions.https.onCall((data, context) => {
const stripeId = data.stripeId; // needed as users stripe ID
const cardId = data.cardId; // the current card they are updating, comes from the app
const month = data.expmonth; // this may or may not be blank
const year = data.expyear; // this may or may not be blank
const newdefault = data.newdefault; //this may or may not be blank

return stripe.customers.updateSource(stripeId, cardId,
{
exp_month: month, <--- how can I make sure this is not updated if month is blank?
exp_year: year <--- how can I make sure this is not updated if year is blank?
}
).then(() => {
return stripe.customers.update(stripeId,
{
default_source: newdefault <--- how can I make sure this is not updated if newdefault is blank?
}
).then(() => {
console.log(card);
return { myReturn: card };
}).catch((err) => {
console.log(err);
});
});
});

在我的研究中,我发现有一个名为 array.filter 的命令可以使用。但是,这些不是数组,而是 JSON 字符串。这是我在 StackOverflow 上找到的示例以及链接。
StackOverflow article on .filter

var array = [0, 1, null, 2, "", 3, undefined, 3,,,,,, 4,, 4,, 5,, 6,,,,];

var filtered = array.filter(function (el) {
return el != null;
});

console.log(filtered);

有人可以告诉我是否可以使用此方法,如果不能,请提供一个方法示例,我可以使用该方法来实现仅在变量有数据时才允许提交 strip 化。可能是 switch 语句?

最佳答案

如果你只是根据你想要的显式条件用一个属性填充一个对象,它可能会更直接:

const obj = {}
if (thing) {
obj.thing = thing
}
if (otherthing) {
obj.otherthing = otherthing
}

stripe.customers.updateSource(obj)

换句话说,调用任何 API 时无需一次指定整个对象。只需根据您想要的条件构建对象即可。

关于javascript - 在 Node JS 中仅使用包含数据的变量的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58921749/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com