Javascript 比较Vanilla JS中包含对象的两个数组

Javascript 比较Vanilla JS中包含对象的两个数组,javascript,Javascript,我有两个对象数组,需要根据我的属性进行过滤 var port = [ { name: 'Cali', type:'Mine', location = { lat: '89.9939', lon: '-79.9999' } }, { name: 'Denver', type:'Port',

我有两个对象数组,需要根据我的属性进行过滤

   var port = [
      {
         name: 'Cali',
         type:'Mine',
         location = {
            lat: '89.9939',
            lon: '-79.9999'
         }
      },
      {
         name: 'Denver',
         type:'Port',
         location = {
            lat: '67.9939',
            lon: '-85.9999'
         }
      },
      {
         name: 'Seattle',
         type:'Port',
         location = {
            lat: '167.9939',
            lon: '-85.9999'
         }
      },
      ...........
   ]
并有另一个对象作为

   var child = [
    {
      lat: '89.9939',
      lon: '-79.9999'
    },

    {
      lat: '67.9939',
      lon: '-85.9999'
     }
     ]
我正在使用过滤器

   var result = port.filter( function(el){
                    return    el.location.lat === child.lat
                });
如何循环第二个数组。在这种情况下,我的数据相当大

您可以使用
数组#some
来确定
子数组中的任何对象是否与
端口数组中的任何对象具有相同的
lat

var-port=[{name:'Cali',type:'Mine',location:{lat:'89.9999',lon:'79.9999'}},{name:'Denver',type:'port',location:{lat:'67.9999',lon:'85.9999'},{name:'sattle',type:'port',location:{lat 167 9999',lon 85.9999'},
child=[{lat:'89.9999',lon:'-79.9999'},{lat:'67.9999',lon:'-85.9999'}],
result=port.filter(el=>child.some(v=>v.lat==el.location.lat));
控制台日志(结果)可以在筛选函数中使用child.find()。