Javascript 我怎样才能把“倒”字翻过来;包括();方法为;不包括();并检索未包含的值?

Javascript 我怎样才能把“倒”字翻过来;包括();方法为;不包括();并检索未包含的值?,javascript,methods,include,Javascript,Methods,Include,我正在尝试使用以下代码检索第二个数组中的未包含值: 函数diffArray(arr1、arr2){ var newArr=[]; 对于(让我来看看arr1){ 如果(2.包括(i)){ 新推送(一) } } 返回纽瓦尔 } console.log( diffArray([1,2,3,5],[1,2,3,4,5]) ) !!意思不是 您也可以始终使用else,但它需要更多的代码行: if (arr2.includes(i)) { // newArr.push(i) } else {

我正在尝试使用以下代码检索第二个数组中的未包含值

函数diffArray(arr1、arr2){
var newArr=[];
对于(让我来看看arr1){
如果(2.包括(i)){
新推送(一)
}
}
返回纽瓦尔
}
console.log(
diffArray([1,2,3,5],[1,2,3,4,5])
)
!!意思不是

您也可以始终使用
else
,但它需要更多的代码行:

if (arr2.includes(i)) {
     // newArr.push(i)
 }  else {
    newArr.push(i);
}
!!意思不是

您也可以始终使用
else
,但它需要更多的代码行:

if (arr2.includes(i)) {
     // newArr.push(i)
 }  else {
    newArr.push(i);
}
您可以使用
过滤器()

让arr1=[1,2,3,5];
设arr2=[1,2,3,4,5];
让结果=arr2.filter(a2=>!arr1.includes(a2));
控制台日志(结果)您可以使用
过滤器()

让arr1=[1,2,3,5];
设arr2=[1,2,3,4,5];
让结果=arr2.filter(a2=>!arr1.includes(a2));

控制台日志(结果)使用
。这意味着
使用
。这意味着
不真正需要
每一个
-
包含的
仍然有效
arr1.过滤器(item=>!arr2.includes(item))
不真正需要
每一个
-
包含的
仍然有效
arr1.过滤器(item=>!arr2.includes(item))
是的,arr1中的一切都在arr2,这样你就什么也得不到了,你需要走另一条路!嗯,是的,arr1中的所有内容都在arr2中,所以你什么也得不到,需要换个方向!这对我来说是一种复杂的方式来包装。。。但是谢谢你的努力!您正在查找仅出现在其中一个数组中的数字。我合并了两个数组并创建了一个对象,其中键是数字,值是它们在合并数组中出现的次数。然后删除发生1次以上的事件。我不想使用includes,因为它每次都会遍历数组,直到找不到您要查找的内容。这对我来说是一种复杂的包装方式。。。但是谢谢你的努力!您正在查找仅出现在其中一个数组中的数字。我合并了两个数组并创建了一个对象,其中键是数字,值是它们在合并数组中出现的次数。然后删除发生1次以上的事件。我不想使用includes,因为它每次都会遍历数组,直到找不到您要查找的内容为止。
const a1 = [1, 2, 3, 4, 5];
const a2 = [1, 2, 3, 5];

function diffArray(arr1, arr2) {
  const frequencies = arr1.concat(arr2).reduce((frequencies, number) => {
    const frequency = frequencies[number];
    frequencies[number] = frequency ? frequency + 1 : 1;
    return frequencies;
  }, {});

  return Object.keys(frequencies).filter(number => frequencies[number] === 1);
}