JavaScript。如何比较输入数组

2023-12-01

我已经被这个问题困扰三天了...请有人帮助我。

挑战5
构造一个函数intersection比较输入数组并返回一个新数组,其中包含在所有输入中找到的元素。

function intersection(arrayOfArrays) {

}

console.log(intersection([[5, 10, 15, 20], [15, 88, 1, 5, 7], [1, 10, 15, 5, 20]]));

// should log: [5, 15]

Reduce数组到Map计数,以值作为键。Spread地图到entries. Use Array.filter()在地图的条目上删除所有条目,其值不等于arrayOfArrays长度。使用以下命令从条目中提取原始数字Array.map():

function intersection(arrayOfArrays) {
  return [...arrayOfArrays.reduce((r, s) => {
    s.forEach((n) => r.set(n, (r.get(n) || 0) + 1));
    
    return r;
  }, new Map())]
  .filter(([k, v]) => v === arrayOfArrays.length)
  .map(([k]) => k);
}

console.log(intersection([[5, 10, 15, 20], [15, 88, 1, 5, 7], [1, 10, 15, 5, 20]]));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JavaScript。如何比较输入数组 的相关文章