移除嵌套循环中的元素
Remove element in nested loop
我正在用JS编写一个简单的元球实现。我有一个元球数组,我每帧遍历它们,对于每个元球,我检查与其他元球的距离,如果它们足够近,我需要合并它们。
这是我猜它可能的样子,但我不知道如何正确地从数组中删除元素而不打破循环。
for(var i = 0; i < points.length; i++) {
for(var j = 0; j < points.length ; j++) {
if(i != j) {
if(distance < 10) {
//remove one of the points using splice
}
}
}
}
首先,在i + 1
开始内部循环。你已经比较了直到i
的元素,所以没有必要重复,对吧?这可以让你摆脱你的if
语句。
然后,在拼接时,减少j
以免跳过下一个元素。
for(var i = 0; i < points.length; i++) {
for(var j = i + 1; j < points.length ; j++) {
if (distance(i, j) < 10) {
points.splice(j--, 1);
}
}
}
相关文章:
- Knockout.js中带有if:子句的嵌套循环
- 有没有一种方法可以在所有嵌套循环之后放置一个标签,以便在一步中将它们全部打断
- JavaScript:在嵌套循环中为数组赋值
- Javascript嵌套循环匹配、组合、替换
- 在嵌套循环中处理 AJAX (Angularjs)
- knockout.js中的嵌套循环
- 在二维数组中搜索比嵌套循环更有效的方法
- 用于动态创建对象的嵌套循环
- 在javascript中嵌套循环
- JavaScript中的嵌入循环和嵌套循环之间有区别吗
- 嵌套循环中数组2d中的javascript变量丢失
- 嵌套循环javascript棋盘
- jQuery嵌套循环nextUntil选择器
- 如何使用嵌套循环使用 Javascript 打印到外部循环的输出中
- 如何在 Javascript 中创建一个模拟 100 行和 10 列网格的嵌套循环
- 如何避免嵌套循环
- 嵌套循环以添加数字
- 使用延迟交换嵌套循环中的数组元素
- 优化嵌套循环,使用jQuery创建HTML元素
- 移除嵌套循环中的元素