웹 응용 프로그램 용 mockData를 사용 중이며 중첩 된 객체를 반복하려고합니다. 내 문제는 for 루프가 작동하지만 array.map이 아니며 이유를 모른다는 것입니다. 여기 Javascript 루프 : for 루프는 작동하지만 맵핑하지 않습니다?
는 for 루프입니다 :for (let i = 0; i < fakeChartData.length; i++) {
for (let j = 0; j < fakeChartData[i].poll.length; j++) {
if (fakeChartData[i].poll[j].id === id) {
return fakeChartData[i].poll[j]
}
}
}
을 그리고 여기지도 루프 :
fakeChartData.map(data => {
data.poll.map(data => {
if (data.id === id) {
return data;
}
});
});
내 데이터 구조 : 나는 특정을로드하기 위해 노력하고있어
fakeChartData = [
{
id: '232fsd23rw3sdf23r',
title: 'blabla',
poll: [{}, {}]
},
{
id: '23dgsdfg3433sdf23r',
title: 'againBla',
poll: [{}, {}]
}
];
onClick 메서드에서 전달 된 ID를 가진 개체입니다.
export const fetchPollOptById = (id) =>
delay(500).then(() => {
for (let i = 0; i < fakeChartData.length; i++) {
for (let j = 0; j < fakeChartData[i].poll.length; j++) {
if (fakeChartData[i].poll[j].id === id) {
return fakeChartData[i].poll[j]
}
}
}
});
데이터 구조의 예를 제공해야합니다. – Hitmands
어떻게 실행됩니까? 테스트에서 array.map 사용에 문제가 있습니다. 이들은 jasmine과 phantom.js를 사용하여 실행됩니다. Phantom.js는 array.map에 대한 지원이 누락 된 것 같습니다. – mortb
'map' 내부의'return' 문이 무엇을 반환하는지 고려하십시오. –