@centerBel

Как создать новый массив с объектами с уникальным свойством?

Есть массив с объектами, как правильно создать из него новый массив с объектами с уникальными свойствами 'name' и 'phone'?
  • Вопрос задан
  • 93 просмотра
Решения вопроса 2
sanchezzzhak
@sanchezzzhak
Ля ля ля...
var obj = {};
obj['name'] = 'наме';

var newobj = Object.create(obj);  //  создает клон обьекта
newobj['phone'] = '76009235XXX';
console.log('var obj' , obj);
console.log('var newobj' , newobj);
Ответ написан
Я так понял, что есть коллекция с повторяющимися значениями, я бы отфильтровал так:

var contacts = [{name: 'a', phone: 1},{name: 'b', phone: 2},{name: 'a', phone: 1}];
var contactsObj = {};
contacts.forEach(function(contact){
  contactsObj[contact.name + ':' + contact.phone] = {
    name: contact.name, 
    phone: contact.phone
  };
});
var uniqueContacts = Object.keys(contactsObj).map(function(key){ return contactsObj[key] })
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы