Объяснение
Вы можете использовать функции map
и reduce
для управления вашими объектными клавишами.Чтобы удалить дубликаты, вы можете использовать временный словарь , в котором будут храниться ваши ключи.Отдельные значения в строке можно найти с помощью str.split(', ')
.Это выглядит примерно так
Код
// Reno, Reno, Toronto => Reno, Toronto
const removeDupsFromString = (s) => {
const dict = s.split(', ').reduce((acc, curr) => {
acc[curr] = true;
return acc;
}, {});
return Object.keys(dict).join(', ');
}
const removeDupsFromObject = (obj) => Object.keys(obj).reduce((acc, key) => {
acc[key] = removeDupsFromString(obj[key]);
return acc;
}, {});
const obj = {
name: "Tony, Tony, Stark",
city: "Reno, Reno",
country: "Canada, Canada"
};
console.log(removeDupsFromObject(obj));
Примечание
Это не удерживает слова в порядке, хотя, Tony, Tony, Stark
может выдать Tony, Stark
или Stark, Tony
, так как использует Object.keys