Я пытаюсь проверить, существует ли ключ в многомерном массиве. Следующий код мой пример:Actionscript, hasOwnProperty() многомерных массивов
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');
Это возвращает Правда, как и следовало ожидать, так как ключ 2 действительно существует в массиве «тест».
Однако, если я попытаюсь это сделать на любом из массивов в моем массиве, код всегда возвращает 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');
Я надеялся, что кто-нибудь сможет пролить свет на это, что мне не хватает? Возможно, есть еще один способ сделать эту проверку? Любая помощь очень ценится, спасибо! :)
Edit:
Изменен мой массив определение этому:
var tiles:Array = new Array(
new Array('','','',''),
new Array('','','',''),
new Array('','','',''),
new Array('','','','')
);
И конечно же, проблема решена! Спасибо за помощь всем :)
Вы добавили вещи во внутренние массивы? Внутренние массивы имеют размер 4, но если в них нет элементов, это вернет false – pwilmot
RE: Ваше редактирование. Что вы собираетесь делать, когда ваши внутренние массивы хотят, чтобы их инициализировали 500 предметов? – Marty