gpt4 book ai didi

javascript - 如何检查 Javascript 数组中是否存在属性值?

转载 作者:行者123 更新时间:2023-11-28 18:34:05 24 4
gpt4 key购买 nike

我有一个类型对象数组,它从 Controller 传递到我的 View 中。要求是检查字符串值是否与该数组中的任何 AdminEmailAddress 字符串类型对象匹配。

我尝试的是创建一个if条件来检查字符串currentUserEmail是否与该列表中的任何管理电子邮件匹配,使用indexOf.

但是脚本在 if 条件下中断:

 if (adminUserList.AdminEmailAddress.indexOf(currentUserEmail) > -1)

我还在 currentUserEmail 字符串和 adminUserList 数组上放置了警报,它们都填充了数据。

运行时adminUserList的内容如下,供引用:

var adminUserList = [{"AdminID":1,"AdminDisplayName":"brianb","AdminEmailAddress":"brian@test.com"},{"AdminID":2,"AdminDisplayName":"wendy","AdminEmailAddress":"wendy@test.com"}];

问题:

如何检查字符串是否与数组中的属性值匹配?

代码:

包含 AdminEmailAddress 属性的列表类型 -

List type public class AdminUsers
{
public int AdminID { get; set; }
public string AdminDisplayName { get; set; }
public string AdminEmailAddress { get; set; }

}

从 Controller 传递到 View 的列表:

List<AdminUsers> adminList = sqlConnection.GetAdminUsers();
ViewBag.AdminUserList = adminList;

包含if条件的脚本:

<script>

var currentUserEmail = '@ViewBag.CurrUserEmail';
var adminUserList = @Html.Raw(Json.Encode(ViewBag.AdminUserList));


$(document).ready(function () {

var historyTable = $('#table').DataTable({
"order": [[6, "desc"]]
});


if (adminUserList.AdminEmailAddress.indexOf(currentUserEmail) > -1)
{
historyTable.columns([9]).visible(false);
}



});
</script>

最佳答案

使用以下函数:

function checkEmailExists(currentUserEmail){

var match = false;
for(var i=0;i<adminUserList.length;i++){
if(adminUserList[i]["AdminEmailAddress"].indexOf(currentUserEmail) > -1){
match = true;
break;
}

}

return match;
}

关于javascript - 如何检查 Javascript 数组中是否存在属性值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37457153/

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