Вы передаете ссылку на один и тот же массив всем элементам массива
graffik:
grafik.forEach(elem => {
elem.attr = attr;
});
Когда передаете напрямую, срабатывает именно потому, что каждый раз создаете новый массив с новыми объектами.
Вам надо передавать копии массива с копиями вложенных объектов. Сделать это можно так:
grafik.forEach(elem => {
elem.attr = attr.map(el => ({ ...el }));
});
Либо, если не используете
spread оператор:
grafik.forEach(elem => {
elem.attr = attr.map(el => Object.assign({}, el));
});