javascript - 在单维和 n 维 arrays 中查找重复项

我有一些 arrays,例如:

a = [1, 2];
b = [2];

a = [1, [2], [[3]]];
b = [[2], [[3]]];

如何从单维和 n 维 arrays 返回重复的 values?你能帮助我吗?

回答1

对只返回骗子的想法很感兴趣,我玩弄了这个功能。它使用 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/flathttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/concat 将所有内容压入单个一维数组,然后使用 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reducehttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter 仅返回重复项。

const returnDupes = (arr1, arr2) => {
let arr = arr1.concat(arr2).flat(5);
return arr.reduce((acc, n) => {
  if (arr.filter(a => a === n).length > 1 && acc.indexOf(n)===-1) acc.push(n)
  return acc;
}, [])
}

let a = [1, [2], [[3]]], b = [[2], [[3]]];
console.log(returnDupes(a,b))

a = [1, 2]
b = [2];
console.log(returnDupes(a,b))

相似文章

随机推荐

最新文章