首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在javascript (p5.js)中比较数组(列表)(对象的)的所有元素

如何在javascript (p5.js)中比较数组(列表)(对象的)的所有元素
EN

Stack Overflow用户
提问于 2019-11-17 13:00:32
回答 1查看 355关注 0票数 1

实际上我使用的是p5.js,但我认为js内置的函数也应该以与javascript相同的方式工作。

给定的是存储在数组中的动态生成的对象的列表。对象具有坐标(x,y)、大小和其他一些属性。这些对象根据它们的属性(方向、速度)在屏幕上移动

我想写一个函数,在那里我可以检查对象的坐标,如果它们发生碰撞,它们应该改变方向,例如,为此我需要将我的数组中的每个元素与其他元素进行比较。

因为我有许多不知道的元素,所以我用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
for (let i in array)

然后,我想弹出第一个元素,并在包含的for each循环中将其与数组的其余部分进行比较。

在这个循环之后,我想取消这个元素到数组的移位,以便对整个数组执行相同的操作。

我猜想,pop()的内置函数没有返回这个元素,因为我得到了一个错误,这让我认为这个数组的对象被其他东西改变了。

我怎么才能修复它呢?

下面是这个函数的代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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)
    }
  }
EN

回答 1

Stack Overflow用户

发布于 2019-11-19 10:23:39

您使用的是for each循环,它在变量(ij)中存储对象,而不是索引。因此,您应该只使用j而不是array_of_objects[j]

然而,最重要的是,您应该将

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
array_of_objects.unshift(element)

在第二个for循环之外(将其向下移动2行)。否则,您将多次取消移位,而这种情况应该只发生一次。

此外,(我不确定这在您的原始代码中是否真的相同),您遗漏了一个右花括号。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58900696

复制
相关文章
比较JavaScript中的数据结构(数组与对象)
大家都说简历没项目写,我就帮大家找了一个项目,还附赠【搭建教程】。 在编程中,如果你想继续深入,数据结构是我们必须要懂的一块, 学习/理解数据结构的动机可能会有所不同,一方面可能是为了面试,一方面可能
前端小智@大迁世界
2020/10/10
5.5K0
比较JavaScript中的数据结构(数组与对象)
javascript对象数组内元素排序
注意:想往后排的,后面的-前面的  a.age - b.age ,如果是从小到大排序,大的-小的
唯一Chat
2022/10/28
1.8K0
JavaScript Array(数组)对象中指定元素的删除
js在前台界面中举足轻重,在使用js删除数组时遇到一些问题(详见删除元素),参考很多大神的资料,现把常用的函数总结出来,以备不时之需。
全栈程序员站长
2022/09/15
2.9K0
python比较列表中元素大小和列表中元素的判定
列表的判定主要是判定列表中是否包含某个元素,使用逻辑运算符判定就可以了;列表的比较稍微复杂一些,首先比较的是两个列表中对应元素的大小,如果元素值一样,再比较列表长度。
python自学网
2021/12/01
5.7K0
python比较列表中元素大小和列表中元素的判定
如何从 Python 列表中删除所有出现的元素?
在 Python 中,列表是一种非常常见且强大的数据类型。但有时候,我们需要从一个列表中删除特定元素,尤其是当这个元素出现多次时。本文将介绍如何使用简单而又有效的方法,从 Python 列表中删除所有出现的元素。
网络技术联盟站
2023/06/01
12.3K0
Javascript中的数组对象排序(转载)
js中用方法sort()为数组排序。sort()方法有一个可选参数,是用来确定元素顺序的函数。如果这个参数被省略,那么数组中的元素将按照ASCII字符顺序进行排序。如:
李维亮
2021/07/08
8K0
java输出数组的方法_java怎样输出数组中的所有元素
调用Array.toString(a),返回一个包含数组元素的字符串,这些元素被放置在括号内,并用逗号分开
全栈程序员站长
2022/11/18
4.7K0
从列表中或数组中随机抽取固定数量的元素组成新的数组或列表
2:jQuery版本 那么jQuery中怎么随机选出固定数组数组[1, 2, 3, 4, 5, 6, 7, 8, 9]中的三个元素,并构造成新数组的?
王小婷
2018/08/02
6K0
如何在 JS 中的数组开头添加元素?
代码部署后可能存在的BUG没法实时知道,事后为了解决这些BUG,花了大量的时间进行log 调试,这边顺便给大家推荐一个好用的BUG监控工具 Fundebug。
前端小智@大迁世界
2021/03/02
9.6K0
JavaScript数组求和_js获取对象数组的第一个元素
您如何找到其元素的总和?好吧,解决方案是一个array.reduce()方法。Array.prototype.reduce()函数可用于遍历数组,将当前元素值添加到先前项目值的总和中。
全栈程序员站长
2022/11/10
6.9K0
8种JavaScript比较数组的方法
我一直喜欢报纸之类的东西,可以在较短的时间内提供足够的信息。在这里,我为前端开发列了一个比较数组的方法清单。介绍一些基于“属性”值对数组进行排序的方法。
前端达人
2021/05/11
3.4K0
python打印列表中指定元素的所有下标
1》法一: song@ubuntu:~$ vi find2.py song@ubuntu:~$ more find2.py l=[1,2,3,4,7,2,5,6,2,8,9,0] first=0 for i in range(l.count(2)):     new_l=l[first:]     index=first+new_l.index(2)     print 'find the index of 2:',index     first=index+1 song@ubuntu:~$ python find2.py find the index of 2: 1 find the index of 2: 5 find the index of 2: 8 song@ubuntu:~$  2》法二: song@ubuntu:~$ vi find_2.py song@ubuntu:~$ more find_2.py l=[2,2,3,4,5,1,2,3,1,2,3,4,5] first=True for i in range(l.count(2)):     if first==True:         pos=l.index(2)         first=False     else:         pos=l.index(2,pos+1)
py3study
2020/01/03
2.9K0
【点滴】如何在JavaScript中清空数组?
在使用 JavaScript 数组时,一个很常见的问题是如何清空数组并删除其所有元素。有几种方法可以解决这个问题,每种方法都各有利弊。
疯狂的技术宅
2021/03/16
3.2K0
JavaScript数组元素排序
使用for循环遍历出数组;然后判断i号元素和i+1号大小,如果判断大于,存储小的元素,如果判断小于存储大的元素
十月梦想
2018/08/29
9360
java列表删除指定位置元素_怎么删除数组中的某个元素
1. 因为数组长度在初始化的时候是指定的并且不可变的,所以不能在原有的数组上直接进行删除操作,需要新建一个长度为当前长度减1的数组
全栈程序员站长
2022/09/22
5.4K0
JavaScript——数组对象
注意:当检测Array实例时, Array.isArray 优于 instanceof,因为Array.isArray能检测 iframes.
岳泽以
2022/10/26
1.5K0
PHP中的对象比较
在之前的文章中,我们讲过PHP中比较数组的时候发生了什么?。这次,我们来讲讲在对象比较的时候PHP是怎样进行比较的。
硬核项目经理
2020/03/27
1.9K0
JavaScript—Element元素对象
上一篇介绍了Element对象,Element对象表示HTML里的元素。Element 对象可以拥有类型为元素节点、文本节点、注释节点的子节点,所谓的节点就是一个个的标签元素,Document 对象可以得到Element 对象,可通过 document .Element 对其进行访问。
端碗吹水
2020/09/23
9450
JavaScript—Element元素对象
JavaScript数组对象
万能操作 数组.splice(开始位置,数量,操作),操作后原数组的内容改变第一个参数是指定从几号位置开始删除或添加  第二个参数是指定删除几个元素
十月梦想
2018/08/29
1.7K0
Array对象---添加或删除数组中的元素->splice()
定义: splice() 方法用于添加或删除数组中的元素。(会修改原始数据) 参数说明: array.splice(index,howmany,item1,.....,itemX) 1、index 必需。规定从何处添加/删除元素。 该参数是开始插入和(或)删除的数组元素的下标,必须是数字。(从0开始) 2、howmany 可选。规定应该删除多少元素。必须是数字,但可以是 "0"。 如果未规定此参数,则删除从 index 开始到原数组结尾的所有元素。 3、item1, ..., itemX 可选。要添加
听着music睡
2021/11/02
3.7K0

相似问题

如何使用javascript比较数组对象中的元素

235

概念:比较对象和数组,如JavaScript中的atring和数字

14

比较列表中的所有元素

14

比较列表中的所有元素

14

比较列表中的所有元素

929
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文