简体   繁体   English

检查数组Javascript中是否存在一组值

[英]Check if a group of values exist in array Javascript

在此输入图像描述

I have a table like this in which i have some values for location . 我有一个这样的表,其中我有一些位置的值。 If this location values contains any other values except "California" "New york" ,"HQ" , "Florida" it should show alert message like location is not valid . 如果此位置值包含除"California" "New york" ,"HQ" , "Florida"之外的任何其他值"California" "New york" ,"HQ" , "Florida"则它应显示类似位置的警报消息无效。 I have tried following code . 我试过以下代码。

   tabledata.DataTable.forEach(function (data) {
       var locate = data.Location;
     if (locate.includes(data.BranchName)) {
       alert("Success");
      } else {
     alert("failure");
             }                            
      })

UPDATE UPDATE

branchDetails.forEach(function (data) {
       console.log(data.BranchName);
  });

here data.BranchName contains "California" "New york" ,"HQ" , "Florida" and locate contains the table location value . 这里data.BranchName包含"California" "New york" ,"HQ" , "Florida" data.BranchName "California" "New york" ,"HQ" , "Florida"locate包含表位置值。

My issue here is even though the table contains "HQ" it is showing as failure 我的问题是,即使表中包含"HQ"它也显示为失败

I think you just used includes the wrong way. 我认为你刚刚使用包含错误的方式。 Try using: 尝试使用:

data.Branchname.includes(locate)

EDIT 编辑

You could also safe check in case data.Branchname is undefined 您还可以安全地检查案例数据.Branchname未定义

data.Branchname && data.Branchname.includes(locate)

You just need to reverse the includes() as it is array.includes(value) 你只需要反转includes()因为它是array.includes(value)

 tabledata.DataTable.forEach(function (data) { var locate = data.Location; var branch = data.BranchName; //if branch is string you need to do like this /* var branch = data.BranchName.split(','); */ if (branch.includes(locate)) { alert("Success"); } else { alert("failure"); } }) 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM