Мне нужно получить значение из объекта внутри массива - PullRequest
0 голосов
/ 27 февраля 2019

С помощью Javascript, как я могу получить идентификатор каждого объекта в объекте такого типа:

array = [
    { active: false, defaultTag:true, id: '507f191e810c19729de860ea', title: 'one' },
    { active: false, defaultTag:true, id: '507f191e810c19722de860ea', title: 'two' }
];

Мне нужно получить идентификатор, чтобы проверить, существует ли элемент уже в массиве при использованиинамерение сохранить тот же объект снова.

С уважением, Американо

Ответы [ 2 ]

0 голосов
/ 28 февраля 2019
  1. Соберите все свои предметы под одним объектом, используя Array.reduce.Это отфильтрует дубликаты
  2. . Используйте Object.values, чтобы получить значения внутри вашего объекта.Возвращаемое значение - отфильтрованный массив

const array = [
    { active: false, defaultTag:true, id: '507f191e810c19729de860ea', title: 'duplicateOne' },
    { active: false, defaultTag:true, id: '507f191e810c19729de860ea', title: 'one' },
    { active: false, defaultTag:true, id: '507f191e810c19722de860ea', title: 'two' }
];

const removeDupsById = arr => Object.values(
  arr.reduce((a, c) => ({...a, [c.id]: c}), {})
);

console.log(removeDupsById(array));
0 голосов
/ 27 февраля 2019

здесь вы можете получить массив уникальных идентификаторов

 var unique = [],
 tmp, i = 0;
 while(i < array.length){
   unique.indexOf(tmp = array[i++].id) > -1 ? array.pop(i--) : unique.push(tmp)
 }
 console.log(unique);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...