如何获得一个数组中的元素在另一个数组中存在多少次?

时间:2019-05-24 18:25:50

标签: html angular

我有一个组件,该组件从服务中调用两个函数以获取两个列表。

我想检查第二个列表中的每个元素在第一个列表中出现多少次,并将出现的次数追加到另一个数组中,但是由于某种原因,每当我执行console.log时,我都会得到一个空数组

1 个答案:

答案 0 :(得分:1)

以下是满足您要求的示例代码。您需要创建一个函数getFrequency,该函数带有两个参数并返回其频率。

let firstList = [1,2,3,4,5,6,1,2,3,4,5,6,6,2,4];
let secondList = [1,2,3,4,5,6,7];
let occurenceList = [];
let countObj ={};
function getFrequency(list,item){
return list.filter(function(value){
    return value === item;
}).length
}

secondList.forEach((item)=>{

    let count = getFrequency(firstList,item);
    
    countObj = {
            "item" :item,
            "count" : count
    };
    
    occurenceList.push(countObj);
});

console.log(occurenceList);