Actionscript,多维数组的hasOwnProperty()

Actionscript, hasOwnProperty() of multidimensional arrays

我正在尝试检查多维数组中是否存在键。 以下代码是我的示例:

var tiles:Array = new Array(
                    new Array(4),
                    new Array(4),
                    new Array(4),
                    new Array(4)
                 );
if(test.hasOwnProperty(2)) {
  trace('True');
} else {
  trace('False');

这 returns 正确,正如预期的那样,因为键 2 确实存在于数组 "test".

但是,如果我在数组中的任何数组上尝试这样做,代码总是 returns False。

var tiles:Array = new Array(
                    new Array(4),
                    new Array(4),
                    new Array(4),
                    new Array(4)
                 );
if(test[1].hasOwnProperty(2)) {
  trace('True');
} else {
  trace('False');

我希望任何人都能对此有所了解,我错过了什么? 也许还有另一种方法可以进行此检查? 非常感谢任何帮助,谢谢! :)

编辑:

将我的数组定义更改为:

var tiles:Array = new Array(
                    new Array('','','',''),
                    new Array('','','',''),
                    new Array('','','',''),
                    new Array('','','','')
                 );

当然,问题解决了!感谢大家的帮助:)

您的内部数组在位置 2 处没有任何值,因此您的结果符合预期。他们有四个空位。

对于序列数据而非用作键值存储的数组,您可能会发现特定于数组的工具对您尝试执行的操作更有意义,例如:

if (test[1].length >= 2)

这样,您会得到 true 如您所愿。