@sutaaliya

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

Подскажите, как заменить в объекте в котором может быть разная вложенность и структура, абсолютно все свойства touched: true , на свойства touched: false?
  • Вопрос задан
  • 69 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Рекурсия есть:

function walkNested(val, callback) {
  callback(val);

  if (val instanceof Object) {
    Object.values(val).forEach(n => walkNested(n, callback));
  }
}


walkNested(obj, n => n?.touched === true && (n.touched = false));

Рекурсии нет:

function walkNested(val, callback) {
  for (const stack = [ val ]; stack.length; ) {
    const n = stack.pop();
    callback(n);
    stack.push(...Object.values(n ?? {}));
  }
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@cloudz
пробежаться по объекту рекурсивно и обновить нужные свойства
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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