Как вывести элементы массива без дублирующих значений?
Как вывести элементы массива без дублирующих значений названия города?
Вот код (React)
// Компонент UsersList
function UsersList(props) {
// для удобства записываем значение props.users в переменную users
const users = props.users;
// используя метод map() и заполняем данными тег li
const listItems = users.map(( user, index ) =>
<li key={ index.toString() } >
{ user[0] }
</li>
);
// Возвращаем список с именами пользователей
return (
<ul> { listItems } </ul>
);
}
// Массив с именами пользователей
const users = [
["Москва","Пупкин","Пупок","Пупович","88005553535"],["Краснодар","Пупкин","Пупок","Пупович","88005553532"],
["Москва","Пупкин","Пупок","Пупович","88005553531"],["Сочи","Пупкин","Пупок","Пупович","88005553530"],["Иркутск","Пупкин","Пупок","Пупович","88005553535"]
];
// Выводим список пользователей на странице
ReactDOM.render(
<UsersList users={users} />,
document.getElementById('root')
);
Ответы (1 шт):
Автор решения: Vladimir T
→ Ссылка
const users = [
["Москва","Пупкин","Пупок","Пупович","88005553535"],["Краснодар","Пупкин","Пупок","Пупович","88005553532"],
["Москва","Пупкин","Пупок","Пупович","88005553531"],["Сочи","Пупкин","Пупок","Пупович","88005553530"],["Иркутск","Пупкин","Пупок","Пупович","88005553535"]
];
//result = Object.keys(users.reduce((ar, obj) => (ar[obj[0]] = obj, ar), {}));
result = [...new Set(users.reduce((ar, obj) => (ar.push(obj[0]), ar), []))];
console.dir(result);
https://jsfiddle.net/cyeuja0L/
Результат:
Array(4)
0: "Москва"
1: "Краснодар"
2: "Сочи"
3: "Иркутск"