@Ivan1331

Перебрать свойства объекта, не используя встроенных методов и цикл for in?

Стоит задача, вывести массив ключей/значений объекта, не используя встроенных методов массивов(Object.keys, values, итд), и не используя цикл for in. Уже голову сломал, подскажите пожалуйста как такое можно реализовать
  • Вопрос задан
  • 225 просмотров
Решения вопроса 2
Alexandroppolus
@Alexandroppolus
кодир
Это типа "задачка на смекалку"? Как вариант, можно сделать JSON.stringify для объекта, потом вручную разобрать json и вытащить из него ключи. Решение, само собой, не универсальное, много чего не попадет в json, например функции в составе объекта.

Вроде в JSON.stringify какие-то кастомные обработчики можно использовать. Во - https://learn.javascript.ru/json#isklyuchaem-i-pre...
Ответ написан
Комментировать
Stalker_RED
@Stalker_RED
const obj = location; // какой-нибудь объект

console.log(getKeys(obj));

function getKeys(obj) {
  return JSON.stringify(obj, null) // преобразуем в json
    .slice(1, -1) // уберем внешние скобки
    .replace(/"|{.+}/g, '') // уберем кавычки и вложенные объекты
    .replace(/:[^,]*/g, '') // уберем значения, оставив только ключи
}
достаточно наркоманский способ?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
tomgif
@tomgif
Веб-разработчик
Ваш ответ на вопрос

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

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