ms-dred
@ms-dred
Вечно что то не то и что то не так...

Как изменить значения в массиве объекта?

Мне нужно перестроить выборку и для этого нужно изменить значения в массиве многомерного объекта, С помощью for как сделать понятно, но может быть как то можно с помощью reduce|map?
Есть объект вида
const obj = {
   "$expr": {
       "$gt": [
           "$size.height",
           "$size.width"
       ]
    }
}


Нужно получить
const obj = {
   "$expr": {
       "$gt": [
           "$coll.size.height",
           "$coll.size.width"
       ]
    }
}

При этого $gt может быть и $lt и $eq
  • Вопрос задан
  • 106 просмотров
Решения вопроса 1
GlazOtca
@GlazOtca
Не в бровь, а в глаз!
const a = Object.keys(obj["$expr"]).reduce((acc, key) => ({
    ...acc,
    [key]: obj["$expr"][key].map(e => e.replace("$", "$coll."))
}), {});
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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