我写了一个函数,它将根据距离组织地址。在我输入 5 个地址之前它工作正常。之后,for 循环将只运行 2 次,而不是预期的 5 次。我究竟做错了什么?
async function getNextStop() {
const lis = document.querySelectorAll('.stop');
const stops = Array.prototype.slice.call(lis);
const stopItems = Array.prototype.slice.call(lis);
lis.forEach((i) => {
i.remove();
});
for (let stopsIndex = 0; stopsIndex < stops.length; stopsIndex++) {
const distances = [];
for (let i = 0; i < stopItems.length; i++) {
let lastLi = document.querySelectorAll('li');
lastLi = lastLi[lastLi.length - 1];
const newDis = await getDistance(lastLi.querySelector('address').innerText,
stopItems[i].querySelector('address').innerText)
.then(response => response);
distances.push(newDis);
}
const lowest = distances.indexOf(Math.min(...distances));
ul.appendChild(stopItems[lowest]);
stopItems.splice(lowest, 1);
console.log(stopsIndex, stops.length, stops, stopItems);
}
}