gpt4 book ai didi

javascript - 数组包含其他数组的值

转载 作者:行者123 更新时间:2023-11-28 07:26:40 24 4
gpt4 key购买 nike

所以我正在使用 Angular,并且我得到了一个可以输入一些电子邮件的表单。我发送这些电子邮件,如果它们已经存在,则返回一条错误消息以及正在使用的电子邮件。

表单中的对象如下所示:

0: Object 
email: "email@gmail.com"
name: "My Name"
1: Object
email: "other@email.com"
name: "My Other Name"

例如,如果 email@gmail.com 已在使用中,我会从 API 中检索到以下错误:

data: Array[1]
0: Object
email: "email@gmail.com"
message: "Some email addresses are already in use."

我已经成功地使用 underscore.js 中的 pluck 来获取电子邮件数组。

这就是我陷入困境的地方。我想检查表单对象中的电子邮件是否包含已用电子邮件数组中的值。如果它确实包含一个值,我想将 used: true 添加到相关的表单对象。

假设 email@gmail.com 正在使用中,我希望我的表单对象是:

0: Object 
email: "email@gmail.com"
name: "My Name"
used: true
1: Object
email: "other@email.com"
name: "My Other Name"

最佳答案

假设您的数据结构如下所示,您可以调用 API,获取响应,然后迭代您的电子邮件数组,检查它们是否存在于 API 的响应中。

为此,您可以使用简单的 for 循环,甚至使用 Array.profotype.forEach 方法。假设 for 语句是最稳定的方法,我给您举一个例子:

// myData is the data array containing the various objects which have email and name
// myResponse is the response object retrieved from your API call

for (var i=0; i < myResponse.data.length; i++) {
for (var j=0; j < myData.length; j++) {
if (myResponse.data[i].email == myData[i].email) {
myData[i].used = true;
}
}
}

执行上述代码后,您的表单数据对象将如下所示:

myData = [
{
email: "email@gmail.com",
name: "My Name",
used: true
},
{
email: "other@email.com",
name: "My Other Name"
}
];

关于javascript - 数组包含其他数组的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29575809/

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