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);
}