#angular #typescript
#angular #typescript
Вопрос:
У меня есть два объекта в массиве. Я перебираю объекты, как мне получить доступ к массиву объектов detail_feedback внутри определенного объекта (объект 1)?
[{name:'myname',
detail_feedback :[{question:'Qn1',answer:'Ans1'},{question:'Qn2',answer:'Ans2'},{question:'Qn3',answer:'Ans3'}]},
{name:'yourname',
detail_feedback :[{question:'Qn1',answer:'Ans1'},{question:'Qn2',answer:'Ans2'},{question:'Qn3',answer:'Ans3'}]},
]
Любая помощь по этому вопросу высоко ценится ..!
Спасибо
Комментарии:
1.
obj.detail_feedback
должно сработать. Как только у вас есть ссылка на текущий объект в цикле.2. К сожалению, это не сработало ..!
3. Если это не сработало, потому что у вас есть какая-то другая проблема, можете ли вы поделиться частью своего кода?
4.
myArray[0].detail_feedback
Ответ №1:
Вы могли бы просто сделать:
// import your json obj
import data from 'yourjson.json'
// iterate over the elements of the array
data.forEach(obj => {
// access 'detail_feedback' prop of each object
console.log(obj['detail_feedback'])
})
Комментарии:
1. Не помогло !!…. также попробовал —> for (пусть i = 0; i < this.myarray.length; i ) { console.log(‘i=>’ this.myarray[i][‘detail_feedback’])} … НЕ ПОВЕЗЛО ..!
Ответ №2:
Вам необходимо получить доступ к массиву по индексу:
arr[0].detail_feedback
вернет detail_feedback по нужному вам индексу. Если вы хотите перебрать его и извлечь все обратные связи, используйте:
const feedbacks = arr.map(item => item.detail_feedback)
Ответ №3:
сначала получите первый уровень, а затем повторите с дочерними
const data = [{name:'myname',
detail_feedback :[{question:'Qn1',answer:'Ans1'},{question:'Qn2',answer:'Ans2'},{question:'Qn3',answer:'Ans3'}]},
{name:'yourname',
detail_feedback :[{question:'Qn1',answer:'Ans1'},{question:'Qn2',answer:'Ans2'},{question:'Qn3',answer:'Ans3'}]},
]
data.forEach( (element) => {
element.detail_feedback = element.detail_feedback;
console.log(element.detail_feedback)
element.detail_feedback.forEach(item=>{
item.question
console.log(item.question, item.answer)
})
});