У меня проблема с циклами in, в то время как я пытаюсь найти две пары одинаковых значений в массиве и объекте:
for (features in geodata.features) {
if (geodata.features[features].geometry.type == 'Point') {
.....
} else if (geodata.features[features].geometry.type == 'LineString') {
for (itema in networkElemente) { //Here is the part whrere it gets problematic
for (itemb in networkElemente) {
if (networkElemente[itema].uuid == geodata.features[features].properties.a.ne.uuid && networkElemente[itemb].uuid == geodata.features[features].properties.b.ne.uuid) {
console.log('klappt');
var intraOrtsVerbindung = L.polyline([[networkElemente[Number(itemb)].coords.lat,networkElemente[Number(itemb)].coords.lng],[networkElemente[Number(itema)].coords.lat,networkElemente[Number(itema)].coords.lng]], {
weight: 5,
color: 'green',
opacity: 1,
}).addTo(map);
}
}
}
}
}
У меня есть массив networkElemente
, и у меня есть geodata.fea... .a
и .b
. Теперь я хочу посмотреть, если geodata...a
имеет одну запись, такую же, как networkElemente
, и ... b
имеет также одну запись, такую как networkElemente
. Это прекрасно работает с этими вложенными циклами, которые будут выполнять часть излишне часто. Я хочу разделить циклы так, чтобы, если networkElemente.length
было бы равно 1000, оно не регистрировало 'klappt' 1 миллион раз, а только 2k раз. Так что результат тот же, но не так часто.
Спасибо!