Угловой фильтр уникальный массив объекта - PullRequest
4 голосов
/ 17 октября 2019

Я хочу отфильтровать уникальный массив объектов. мой начальный массив будет

var initialObjArray=[ {lat:10,lon:20},{lat :10,lon:30} ,{lat :10,lon:20}];

мой массив результатов будет

var initialObjArray=[ {lat:10,lon:20},{lat :10,lon:30}];

Ответы [ 2 ]

2 голосов
/ 17 октября 2019

Попробуйте так:

var result =  []
initialObjArray.forEach(item => {
  let count = result.filter(x => x.lat == item.lat && x.lon == item.lon).length

  if(count == 0) {
    result.push(item)
  }
})

Рабочая демоверсия

1 голос
/ 17 октября 2019

Вы можете использовать filter () и findIndex () для фильтрации дублированных объектов.

var initialObjArray = [{ lat:10, lon:20 }, { lat :10, lon:30 }, { lat :10, lon:20 }];

var unique = initialObjArray.filter((value, index, arr) => {
  return index === arr.findIndex(obj => obj.lat === value.lat && obj.lon === value.lon);
});

console.log(unique);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...