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
如您所愿。
我正在尝试检查多维数组中是否存在键。 以下代码是我的示例:
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
如您所愿。