У меня трудности с фильтрацией ключей вложенного объекта на основе другого массива при сохранении исходной структуры объекта.
Введите:
data = [
{0: { key: "A", values: { 0: {g1: 0, g2: 0, g3: 0, g4: 0}}}},
{1: { key: "B", values: { 0: {g2: 0, g3: 0, g5: 0}}}}
]
arr = [g1, g2, g3]
Ожидаемый результат:
data = [
{0: { key: "A", values: { 0: {g1: 0, g2: 0, g3: 0}}}},
{1: { key: "B", values: { 0: {g2: 0, g3: 0}}}}
]
Что я сделал до сих пор:
data.forEach(function(e,i) {
r = Object.keys(e[i].values[0]).filter(d => arr.includes(d))
console.log(r)
})
Это правильно печатает [g1, g2, g3] и [g2, g3], но я хочу сохранить исходную структуру объекта, а не просто иметь список общих ключей.