Как из объекта типа Set или Map получить первый элемент? А вообще говоря не обязательно первый, можно произвольный - последний, из середины, хоть какой-нибудь.
Предвосхищая флуд на тему, что Set не для того придуман и тп - сразу объясню цель.
Некая функция получает на вход коллекцию объектов. Нюанс в том, что объекты не всегда имеют постоянную структуру. Поэтому функция прежде всего хочет получить из множества один семпл и проверить там наличие некоторых полей. В зависимости от результатов, далее могут быть использованы разные алгоритмы.
Вообще говоря, вопрос смотрится туповато, потому что спецификация предоставляет для этого инструменты:
https://developer.mozilla.org/ru/docs/Web/JavaScri...
Но у нас есть чудо под названием IE11, которое поддерживает Set/Map, но в очень урезанном виде - только добавить, удалить и обход через forEach.
Получился такой вот костыль:
// modern browsers
if (points.values) {
return points.values().next();
}
// IE11
else {
let el;
points.forEach(function (p, i) {
if (i == 0) el = p;
});
return el;
}
Но может есть решение красивее?