如何在Javascript中获取另一个数组中某个数组元素的数字出现次数?

工作反应

我有一个数组:

const myArray1 = [{tags: ['tag-1', 'tag-2']}, {tags: ['tag-1']}, {tags: ['tag-5', 'tag-8']}]

和一个array2:

const myArray2 = [
  {
    tags: [
       "tag-122",
      "tag-1",
      "tag-2",
      "tag-12"
    ]
  },
  {
    tags: [
      "tag-1",
      "tag-10",
      "tag-12"
    ]
  },
  {
    tags: [
      "tag-5"
    ]
  }
];

我想得到一个数组

const resultArray = [{tags: ['tag-1', 'tag-2'], count: 2}, {tags: ['tag-1'], count: 2}, {tags: ['tag-5', 'tag-8'], count: 1}]

对于myArray1中的每个元素,请检查myArray1中是否包含数组标签中的任何元素。如果包含,找到出现的次数

我尝试制作一个myArray2标签数组,然后为myArray1的每个元素在数组中查找

const result = myArray2.reduce((acc, el) => {
  el.tags && el.tags.map(tag => acc.push(tag));
  return acc;
}, []);
一定的表现

我改造myArray2成集的数组,降低计算复杂度,然后.maparray2并检查是否.some被重复的标签在该组中存在,出现计数用的数字reduce

const myArray1=[{tags:["tag-1","tag-2"]},{tags:["tag-1"]},{tags:["tag-5","tag-8"]}],
      myArray2=[{tags:["tag-122","tag-1","tag-2","tag-12"]},{tags:["tag-1","tag-10","tag-12"]},{tags:["tag-5"]}];

const arr2Sets = myArray2.map(({ tags }) => new Set(tags));

const resultArray = myArray1.map(({ tags }) => {
  const count = arr2Sets.reduce(
    (a, set) => a + tags.some(tag => set.has(tag)),
    0
  );
  return { tags, count };
});
console.log(resultArray);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

计算一个数组中的数字出现在另一个数组中的次数

如何在另一个数组中存储数组的对象元素个数?

如何获取某个数组参数的值并将其放在另一个数组中?

JavaScript从对象数组获取不在另一个数组中的元素

计算一个数组在另一个数组中不重叠的出现次数

Python 中一个数组出现在另一个数组中的次数

在Javascript中找到另一个数组中每个数组元素的所有出现

如何在Swift中使用另一个数组中的元素过滤数组?

在另一个数组中满足某个值后如何触发获取数组的下一个元素

如何基于JavaScript中另一个数组的索引从数组中选择元素?

如何在一个数组中获取位置以在另一个数组中找到该位置的元素?

如何在 JavaScript 中将一个数组添加为另一个数组中的项目

如何在Javascript中将一个数组添加到另一个数组中?

如何在JavaScript中从一个数组过滤另一个数组的对象?

如何在另一个数组中获取数组的索引值

如何有效地将一个数组中某个值在另一个数组中的位置上出现的总和

如何在另一个数组 JavaScript 中循环索引数组

如何用javascript中获取的数据中的另一个数组替换整个数组

MS Access SQL – 如何计算一个表中某个数字在另一个表的字符串中的出现次数

如果一个数组的元素不在PHP的另一个数组中,如何获取多维度数组中的元素

将大于某个值的数字存储到另一个数组中

从一个数字到另一个数字,而不是从另一个数组中获取数字

根据另一个数组中的索引获取数组中的元素

根据存储在另一个数组中的键获取数组中的元素

如何从另一个数组中的多个元素中选择数组中的元素

如何从一个数组中滤除另一个数组中的元素?

删除另一个数组中的元素

如何在嵌套在Mongoose中另一个数组中的数组中添加元素?

如何在JavaScript中的一个数组中的另一个数组对象中合并数组