我有一个看起来像这样的多维数组
[1:[1:mammal,2:cat,3:fur],
2:[1:mammal,2:dog,3:fur],
3:[1:mammal,2:cat,3:fur],
4:[1:fish,2:trout,3:scales]]
我希望计算动物的出现次数以返回这样的数组
[cat:2,dog:1,trout:1]
我一直没有尝试过for循环,有没有更好的方法呢?
您的语法不正确,将更容易返回具有键值对的对象。
这里是使用reduce
功能的示例:
const animals =
[ [ 'mammal', 'cat', 'fur' ],
[ 'mammal', 'dog', 'fur' ],
[ 'mammal', 'cat', 'fur' ],
[ 'fish', 'trout', 'scales' ] ]
const res = animals.reduce((acc, arr) => {
for (const item of arr) {
acc[item] = acc[item] !== undefined ? acc[item] + 1 : 1
}
return acc
}, {})
console.log(res)