我有两个数组

array1 = [
    {name: "samsung", views: 1200},
    {name: "apple", views: 200}
]

array2 = [
    {name: "samsung-1234", views: 200},
    {name: "apple-2332", views: 200},
    {name: "samsung-6543", views: 400},
    {name: "samsung-9876", views: 600}
]


如何在array2中获取sumsung具有3种类型,而apple具有1类型。

谢谢。任何帮助表示赞赏

最佳答案

您可以在.filter()上使用array2并从name指定array1来构建过滤器,并使用.includes()来比较名称



let array1 = [
    {name: "samsung", views: 1200},
    {name: "apple", views: 200}
];

let array2 = [
    {name: "samsung-1234", views: 200},
    {name: "apple-2332", views: 200},
    {name: "samsung-6543", views: 400},
    {name: "samsung-9876", views: 600}
];


let result = array1.map(x => ({ name: x.name, total: array2.filter(a => a.name.includes(x.name)).length }));

console.log(result);

07-24 09:49
查看更多