gpt4 book ai didi

javascript - 计算一个元素在多个其他数组中出现的次数 JavaScript

转载 作者:行者123 更新时间:2023-12-01 00:17:16 24 4
gpt4 key购买 nike

我需要查找一个数组的所有元素在多个其他数组中的出现情况。

例如,我的输入数组是 ["a", "b", "c", "d", "e"]

第一个测试数组是 ["a", "c", "d"]

第二个测试数组是 ["a"]

第三个测试数组是 ["a", "c"]

我的结果数组应该是 {"a": "100%", "b": "0%", "c": "66%", "d": "33%", "e": "0%"}

这里,在结果数组中,键来自输入数组,相应的值是根据三个测试数组中出现的次数生成的。

  • “a”在 3 个测试数组中出现 3 次,因此给出 100%
  • “c”在 3 个测试数组中出现 2 次,给出 66%
  • “d”出现 1 次并给出 33%
  • “b”和“e”不会出现,因此给出 0% 作为值。

我尝试寻找解决方案,但找不到任何解决方案。谁能帮帮我吗?

感谢您的宝贵时间。

最佳答案

您可以使用嵌套的 forEach 循环来做到这一点

function occurances(arr, arrays){
const object = Object.fromEntries(arr.map(x => [x, 0]));
arrays.forEach(arr => {
arr.forEach(x => object[x]++)
})

return Object.fromEntries(Object.entries(object).map(([k, v]) => [k, v/arrays.length * 100]))
}

console.log(occurances([1,2,3,4,5], [[1,2], [2, 3], [1, 2]]))

关于javascript - 计算一个元素在多个其他数组中出现的次数 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59682941/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com