gpt4 book ai didi

javascript - 重构 JavaScript 中的硬代码

转载 作者:行者123 更新时间:2023-12-01 01:26:04 25 4
gpt4 key购买 nike

我有一些API来启动我的项目,这是代码部分,我想询问一下

getList(oauth2Client).then(items => {
for (const item of items) {
if (item.selected && (item.id === 'sib43214@gmail.com' || item.id === 'iva72198@gmail.com')) {
promiseArray.push(getEvents(oauth2Client, item.id, item.backgroundColor));
}
}

如何在没有硬代码的情况下执行 if 语句,我的意思是将这两封特定的电子邮件更改为一些常见的用例。

最佳答案

改用数组或Set:

getList(oauth2Client).then(items => {
const emails = new Set(['sib43214@gmail.com', 'iva72198@gmail.com']);
for (const item of items) {
if (item.selected && emails.has(item.id)) {
promiseArray.push(getEvents(oauth2Client, item.id, item.backgroundColor));
}
}
});

我更喜欢 Set,因为它的复杂性较低,但对于数组,请使用 .includes:

getList(oauth2Client).then(items => {
const emails = ['sib43214@gmail.com', 'iva72198@gmail.com'];
for (const item of items) {
if (item.selected && emails.includes(item.id)) {
promiseArray.push(getEvents(oauth2Client, item.id, item.backgroundColor));
}
}
});

或者,如果您想要传递任何电子邮件地址,请使用正则表达式,例如:

getList(oauth2Client).then(items => {
const emailRe = /^\w+@[a-z0-9]\.[a-z]+$/i;
for (const item of items) {
if (item.selected && emailRe.test(item.id)) {
promiseArray.push(getEvents(oauth2Client, item.id, item.backgroundColor));
}
}
});

(如果您想更严格,请参阅 regex here )

关于javascript - 重构 JavaScript 中的硬代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53775171/

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