js 两个二维数组如何找出相同元素?

有三个二维数组,其中arr1是已经做完的实验项目,arr2是计划要做的实验项目,长度在一千左右(此处省略),现在要统计arr1中做了多少计划中的实验(唯一、不重复的),形成类似arr4的数组。(统计各实验项目的完成数量)。该怎么写这个循环?

arr1=[{"project":"密度","number":"p0000001543301"},{"project":"含水量","number":"16331000000147"},{"project":"密度","number":"16331000013189"},{"project":"含水量","number":"16331000003761"},{"project":"含水量","number":"16331000001868"}]

arr2=[{"project":"耐药品性","number":"12131000003671"},{"project":"湿热","number":"16031000A46544"},{"project":"湿热","number":"16031000A54876"},roject":"含水量","number":"16331000003761"},{"project":"含水量","number":"16331000001868"}]

arr3=["耐药品性","含水量","耐酸性","高温","密度"]
arr4=[5,8,20,1,8]
function getResolvedIndex(plans, resolves) {
    let resolvedIndex = [];
    plans.forEach((plan, index) => {
      if (resolves.some(resolve => resolve.number === plan.number)) {
        resolvedIndex.push(index);
      }
    })
    return resolvedIndex;
  }
  arr4 = getResolvedIndex(arr2, arr1);

可以看下underscore.js