Javascript Loop над массивом объектов и получить уникальные значения - PullRequest
0 голосов
/ 28 января 2019

У меня есть массив автомобильных объектов (carArray), и я хочу зациклить этот массив и заполнить новый массив уникальными объектами только с типом CarA : 'Ford'.

const carArray = [
{carA:'Ford'},
{carA:'Ford'},
{carB:'GM'},
{carB:'GM'},
{carA:'Ford'},
{carA:'Ford'},
{carB:'GM'},
{carB:'Ford'},
]

Может кто-нибудь сказать мне, как я могу это сделать?

Большое вам спасибо за ваше время.С уважением, L

Ответы [ 2 ]

0 голосов
/ 28 января 2019

Попробуйте это

 let  newArray = [];
 carArray.forEach(function(car) {
   let arrayKey = Object.keys(car)[0]
   if (newArray.length > 0) {
       newArray.find(function (data) {
         if(!data.hasOwnProperty(Object.keys(data)[0])) { 
            newArray.push(car);
         }
       })
    }  else newArray.push(car)
 });
0 голосов
/ 28 января 2019

Вы можете взять Set и использовать массив в качестве нейтрального элемента для последующего получения уникальных значений.

const
    array = [{ carA: 'Ford' }, { carA: 'Ford' }, { carB: 'GM' }, { carB: 'GM' }, { carA: 'Ford' }, { carA: 'Ford' }, { carB: 'GM' }, { carB: 'Ford' }]
    carA = [].concat(...new Set(array.map(({ carA = [] }) => carA)));
    
console.log(carA);
...