我有两个数组
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);