Javascript check数组包含另一个数组的每个元素

Javascript check数组包含另一个数组的每个元素,javascript,Javascript,如何将一个数组中的每个元素检查到另一个数组中?这里array2包含array1的每个元素 代码: function find(a, b) { var ai=0, bi=0; var result = []; while( ai < a.length && bi < b.length ) { if (a[ai] < b[bi] ){ ai++; } else if (a[ai] > b[bi] ){ bi

如何将一个数组中的每个元素检查到另一个数组中?这里array2包含array1的每个元素

代码:

function find(a, b) {
     var ai=0, bi=0;
  var result = [];

  while( ai < a.length && bi < b.length )
  {
     if      (a[ai] < b[bi] ){ ai++; }
     else if (a[ai] > b[bi] ){ bi++; }
     else /* they're equal */
     {
       result.push(a[ai]);
       ai++;
       bi++;
     }
  }

  if(JSON.stringify(a)==JSON.stringify(result)){
    return true;
  }else if(JSON.stringify(b)==JSON.stringify(result)){
    return true;
  }else{
    return false;
  }
  // return result;

}

var array1 =  ["Area", "Code", "Date", "Invoice Amt", "Invoice No", "Party Address", "Party Name", "Pincode"];
var array2 = ["Area", "Code", "Date", "Invoice Amt", "Invoice No", "Name", "Party Address ", "Party Name", "Pincode"];

console.log(find(array1, array2)); //returns false
console.log(find(array2, array1)); // return false
函数查找(a、b){
var-ai=0,bi=0;
var结果=[];
while(aib[bi]){bi++;}
else/*他们是平等的*/
{
结果:推(a[ai]);
ai++;
bi++;
}
}
if(JSON.stringify(a)=JSON.stringify(结果)){
返回true;
}else if(JSON.stringify(b)=JSON.stringify(结果)){
返回true;
}否则{
返回false;
}
//返回结果;
}
var array1=[“区域”、“代码”、“日期”、“发票金额”、“发票编号”、“当事人地址”、“当事人名称”、“Pincode”];
var array2=[“区域”、“代码”、“日期”、“发票金额”、“发票编号”、“名称”、“当事人地址”、“当事人名称”、“Pincode”];
console.log(find(array1,array2))//返回false
console.log(查找(array2,array1));//返回错误

如果要逐个检查每个值,可以使用
map
includes
检查数组是否包含来自数组1的任何值

var array1=[“区域”、“代码”、“日期”、“发票金额”、“发票编号”、“参与方地址”、“参与方名称”、“Pincode”];
var array2=[“区域”、“代码”、“日期”、“发票金额”、“发票编号”、“名称”、“当事人地址”、“当事人名称”、“Pincode”];

array1.map(x=>console.log(array2.includes(x))
如果要逐个检查每个值,可以使用
map
includes
检查数组是否包含来自array1的任何值

var array1=[“区域”、“代码”、“日期”、“发票金额”、“发票编号”、“参与方地址”、“参与方名称”、“Pincode”];
var array2=[“区域”、“代码”、“日期”、“发票金额”、“发票编号”、“名称”、“当事人地址”、“当事人名称”、“Pincode”];

array1.map(x=>console.log(array2.includes(x))
您可以使用Array.prototype.includes()

您还可以将
includes()
map()一起使用


您可以使用Array.prototype.includes()

您还可以将
includes()
map()一起使用


字符串末尾包含空格,因此请确保在处理它之前对其进行
trim

例如:参与方地址包含空格
函数isSuperset(集合,子集){
for(子集的变量元素){
如果(!set.has(elem)){
返回false;
}
}
返回true;
}
var array1=新设置([“区域”、“代码”、“日期”、“发票金额”、“发票编号”、“参与方地址”、“参与方名称”、“Pincode”])。映射(el=>el.trim());
var array2=新设置([“区域”、“代码”、“日期”、“发票金额”、“发票号”、“名称”、“当事人地址”、“当事人名称”、“Pincode”])。映射(el=>el.trim());
让结果=isSuperset(array2,array1);

控制台日志(结果)字符串末尾包含空格,因此请确保在处理它之前对其进行
修剪

例如:参与方地址包含空格
函数isSuperset(集合,子集){
for(子集的变量元素){
如果(!set.has(elem)){
返回false;
}
}
返回true;
}
var array1=新设置([“区域”、“代码”、“日期”、“发票金额”、“发票编号”、“参与方地址”、“参与方名称”、“Pincode”])。映射(el=>el.trim());
var array2=新设置([“区域”、“代码”、“日期”、“发票金额”、“发票号”、“名称”、“当事人地址”、“当事人名称”、“Pincode”])。映射(el=>el.trim());
让结果=isSuperset(array2,array1);

控制台日志(结果)您的意思是如果array1中的valueN存在于array2中?这是否回答了您的问题@佩佩加,是的……有251人不同意你的意见。检查一下什么?这个问题有数百个副本。如果你简单地在谷歌上输入你的问题,你会得到很多重复的问题。你是说array1中的valueN是否存在于array2中?这是否回答了你的问题@佩佩加,是的……有251人不同意你的意见。检查一下什么?这个问题有数百个副本。如果你只是简单地在谷歌上输入你的问题,你会得到很多关于
的重复的
——以前被接受的解决方案比那个解决方案有性能优势,因为它会在遇到缺少的元素时退出。尽管您可能会受益于高阶语法的简洁性和快捷方式的灵活性,正如我在下文中所做的那样。
对于
-以前接受的解决方案比该解决方案具有性能优势,因为它会在命中缺少的元素时退出。虽然您可能会受益于高阶语法的简洁性和快捷方式的灵活性,正如我在下面所做的那样。
const arr1 = [/* someValues */];
const arr2 = [/* someMoreValues */];

for (let value of arr1) {
    if (arr2.includes(value)) {
        // do stuff
    }
}
arr1.map(x => console.log(arr2.includes(x)));