Javascript:一个带键的数组怎么可能?

Javascript:一个带键的数组怎么可能?,javascript,arrays,Javascript,Arrays,我试图了解force在d3中的工作原理,在Chromes javascript控制台中测试代码时,我遇到了如下数组: [14, 7, index: 19, weight: 4, x: 823.4318332231393, y: 87.20455959056517, px: 823.4318332231393…] 因为我不知道数组除了数字键之外还能有什么,所以我有点困惑。这怎么可能?Array.isArray是正确的。在我看来,您可能遗漏了一些代码,或者代码片段不正确 如果它们是数组中的匿名对

我试图了解force在d3中的工作原理,在Chromes javascript控制台中测试代码时,我遇到了如下数组:

[14, 7, index: 19, weight: 4, x: 823.4318332231393, y: 87.20455959056517, 
px: 823.4318332231393…]

因为我不知道数组除了数字键之外还能有什么,所以我有点困惑。这怎么可能?Array.isArray是正确的。

在我看来,您可能遗漏了一些代码,或者代码片段不正确

如果它们是数组中的匿名对象,则最接近您的问题的可接受格式。这是有意义的,因为d3需要知道那些特定的属性(x,y等)来绘制元素

我最好的假设是这是实际阵列:

var arr = [14, 7, {index : 19 }, {weight: 4} , {x: 823.4318332231393}, {y: 87.20455959056517}, {px: 823.4318332231393}]

这对于
Array.isArray(arr)来说是真的

在我看来,可能您遗漏了一些代码,或者代码片段不正确

如果它们是数组中的匿名对象,则最接近您的问题的可接受格式。这是有意义的,因为d3需要知道那些特定的属性(x,y等)来绘制元素

我最好的假设是这是实际阵列:

var arr = [14, 7, {index : 19 }, {weight: 4} , {x: 823.4318332231393}, {y: 87.20455959056517}, {px: 823.4318332231393}]

这对于
Array.isArray(arr)来说是真的

我也很困惑,因为这是一个语法错误,在我的控制台中引发了一个错误。你确定那些不是该数组中的对象吗?比如:
var-arr=[14,7,{index:19},{weight:4},{x:823.4318332231393},{y:87.20455959056517},{px:823.4318332231393}]
数组没有键,你是对的。你没有向我们展示的还有其他东西。这是一个数组数组。您正在查看的关键点实际上是在阵列对象上设置的属性。这里有个问题,我没什么可说的了。数组在技术上是对象,所以它可以有任何有效的对象属性。我也很困惑,因为这是一个语法错误,在我的控制台中引发了一个错误。你确定那些不是该数组中的对象吗?比如:
var-arr=[14,7,{index:19},{weight:4},{x:823.4318332231393},{y:87.20455959056517},{px:823.4318332231393}]
数组没有键,你是对的。你没有向我们展示的还有其他东西。这是一个数组数组。您正在查看的关键点实际上是在阵列对象上设置的属性。这里有个问题,我没什么可说的了。数组在技术上是对象,所以它可以有任何有效的对象属性。我希望它像你建议的那样,但是arr[0]返回14,arr['weight']返回4。另外,我在d3源代码中找不到一些疯狂的Array.prototype变异。然后我认为MinusFour是正确的(我在防火墙后面,无法查看他的屏幕截图)。要么是这个,要么是他的建议。我在上面添加了一个链接,带有mbostock的示例代码。我希望它像你建议的那样,但是arr[0]返回14,arr['weight']返回4。另外,我在d3源代码中找不到一些疯狂的Array.prototype变异。然后我认为MinusFour是正确的(我在防火墙后面,无法查看他的屏幕截图)。不是这个,就是他的建议。