Javascript 如何检查数组是否包含对象的值

Javascript 如何检查数组是否包含对象的值,javascript,Javascript,假设我们有这样一个对象: {"A":["00002","00003","00004"]} 和一个数组: ["00002", "00003"] 我试图做的是检查对象的值,如果键值不全部存在于数组中,则通知用户键值不全部存在于数组中 如果A是未知的呢 您应该检索对象内部的数组: object.A 接下来,需要循环检查要检查的数组 var allMatch = true; var object = {"A":["00002","00003","00004"]}; ["00002", "00003

假设我们有这样一个对象:

{"A":["00002","00003","00004"]}
和一个数组:

["00002", "00003"]
我试图做的是检查对象的值,如果键值不全部存在于数组中,则通知用户键值不全部存在于数组中


如果A是未知的呢

您应该检索对象内部的数组:

object.A
接下来,需要循环检查要检查的数组

var allMatch = true;
var object = {"A":["00002","00003","00004"]};
["00002", "00003"].forEach(function(item){
    if(object.A.indexOf(item) === -1){ // -1 when not found
        allMatch = false;
    }
});

alert("Do they all match? " + allMatch);
或者,如果您需要旧的Internet Explorer支持

var allMatch = true;
var object = {"A":["00002","00003","00004"]};
var arr = ["00002", "00003"];
for(var i=0;i<arr.length;i++){
    if(object.A.indexOf(arr[i]) === -1){ // -1 when not found
        allMatch = false;
        break; // Stop for loop, since it is false anyway
    }
};

alert("Do they all match? " + allMatch);
var allMatch=true;
变量对象={“A”:[“00002”、“00003”、“00004”]};
var arr=[“00002”,“00003”];

对于(var i=0;i您可以对数组执行
.filter
,并检查所有值是否存在于另一个数组中

var obj={“A”:[“00002”、“00003”、“00004”]]
风险值检查=[“00002”,“00003”];
if(对象A过滤器(el=>!检查包含(el)).长度){
log(“某些元素不存在”);

}
只需循环它们并检查

var haystack={“A”:[“00002”、“00003”、“00004”]};
变量指针=[“00002”,“00003”];
函数AllitemSexister(h,n){
如果(!~n.indexOf(h[k])返回false,则为(h中的变量k);
返回true;
}
如果(!allItemsExist(haystack.A,needle))警惕(“缺少了什么”);
else alert(“一切都在这里”);
函数包含所有数据(obj、键、arr)
{
if(arr.length
可能重复您不知道A是什么意思?您不知道密钥是什么,或者您不知道它是否存在?我们不知道密钥是什么。这正在工作,但我有属性筛选器在类型{}上不存在错误我正在使用类型脚本您知道为什么吗?属性“筛选器”在类型{}上不存在。
function containsAllData(obj, key, arr)
{
   if(arr.length < obj[key].length)
   {
      alert("Array is not fully contained!");
      return false;
   }
   for(var i = 0; i < obj[key].length; i++)
      if(arr[i] !== obj[key][i])
      {   
         alert("Array contains different data!");
         return false;
      }
   return true;
}