- 已关闭。**此问题需要debugging details。当前不接受答案。
编辑问题以包含desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将有助于其他人回答问题。
14小时前关门了。
Improve this question
这可能是个愚蠢的问题,但我已经花了好几个小时来解决它。我有一个这样的数据。
我试图得到每个对象的x
和y
坐标进行运算。代码如下:
const calculateDistances = () => {
data[0].distances.map((item, index) => {
const distance = Math.sqrt(Math.pow(item[index + 1].x - item[0].x) + Math.pow(item[index + 1].y - item[0].y))
array.push(distance)
})
}
这里的问题:
3条答案
按热度按时间pu3pd22g1#
正如已经指出的,
item
是一个对象,而不是对象数组;.map()
正在对象数组上操作,可以通过下面的第三个参数arr
访问该数组。还要记住
Math.pow()
需要第二个参数2
。7ajki6be2#
你试图访问
item
中不存在的索引(它是一个对象,没有索引或键0
)。每个item
基本上都是一个具有{id, company, x, y}
的对象。所以,假设你想知道原点和每个点之间的距离,它应该是这样的:
如果你想知道当前点和下一点之间的距离
请下次不要使用代码的图像,而是键入代码。
kqqjbcuj3#
item
已经是一个对象,因此您不需要使用index,但是为了与x
和y
的初始值进行比较,您可能需要使用距离的第一个元素,因此需要使用data[0]['distances'][0]
。据我所知,这对你应该有用。