Ich arbeite mit MockData für eine Webanwendung und ich versuche, verschachtelte Objekte zu durchlaufen. Mein Problem ist, dass eine for-Schleife funktioniert, aber nicht array.map und weiß nicht warum.Javascript Loops: For-Schleife funktioniert, aber nicht zuordnen?
ist die for-Schleife:
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]
}
}
}
Und hier ist die Karte Schleife:
fakeChartData.map(data => {
data.poll.map(data => {
if (data.id === id) {
return data;
}
});
});
Meine Datenstruktur:
fakeChartData = [
{
id: '232fsd23rw3sdf23r',
title: 'blabla',
poll: [{}, {}]
},
{
id: '23dgsdfg3433sdf23r',
title: 'againBla',
poll: [{}, {}]
}
];
Ich versuche, die spezifisch zu laden Objekt mit der ID, die an onClick-Methode übergeben wird. Hier ist die volle Funktion:
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]
}
}
}
});
sollten Sie ein Beispiel für Datenstruktur bieten ... – Hitmands
Wie läuft das? Wir haben Probleme mit der Verwendung von array.map in unseren Tests. Sie werden mit Jasmin und Phantom.js ausgeführt. Phantom.js scheint Unterstützung für array.map – mortb
zu fehlen Betrachten Sie, was die 'return' Anweisung in der' map' zurückgibt. –