【发布时间】:2019-11-17 13:00:31
【问题描述】:
其实我用的是p5.js,但是我想js内置的函数应该也和javascript一样。
Given 是存储在数组中的动态生成对象的列表。对象具有坐标 (x,y)、大小和一些其他属性。这些对象根据它们的属性(方向、速度)在屏幕上移动
我想写一个函数,在这里我可以检查物体的坐标,如果它们发生碰撞,它们应该改变方向,例如为此,我需要将数组的每个元素与其他元素进行比较。
由于我有许多我不知道的元素,所以我用
进行迭代for (let i in array)
然后我想弹出第一个元素,并在包含的每个循环中将它与数组的其余部分进行比较。
在这个循环之后,我想把这个元素移到数组中,以便对整个数组做同样的事情。
我想,pop() 的内置函数没有返回这个元素,因为我得到一个错误,这让我想,这个数组的对象被其他东西改变了。
我该如何解决这个问题?
这是我的这个函数的代码:
function checkCollisions() {
for (let i in array_of_objects) {
let element = array_of_objects.pop()
for (let j in array_of_objects) {
if (comparison_of_some_attributes_between(element, array_of_objects[j])) {
some_changes_on_attributes_of(element, array_of_objects[j])
}
array_of_objects.unshift(element)
}
}
【问题讨论】:
标签: javascript arrays compare p5.js