@MdaUZH

Как узнать длинну объекта (ассоциативный массив)?

Интересует только чистый, родной JS.

Есть массив:
var arr = { 1 : 'one', 2 : 'two', 3 : { 1 : 'text', 2 : 'mda'}};

Как узнать длинну массива?

Все было бы проще, не будь он многомерным, тогда можно было бы использовать:
Object.keys( MyObject ).length
Но т.к массив многомерный, получаем в ответ 2 ( на деле должно быть 3 как видите :) )

МБ знает кто-нибудь, как это реализовать?

ещё, для обхода массива циклом,требуется такая конструкция:
for (var key in MyObject )
?

Буду всем очень благодарен :)
  • Вопрос задан
  • 6183 просмотра
Решения вопроса 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Все было бы проще, не будь он многомерным

Значения на ключи не влияют.

Но т.к массив многомерный, получаем в ответ 2

Вы проверяли? Что-то подсказывает что нет ибо работает все так как нужно.

ещё, для обхода массива циклом,требуется такая конструкция:

Ну либо for of, для объектов оно не отличается так как итерируются не значения а свойства.

p.s. Вы на PHP писали что-ли?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@seriogja
Странно, но у меня все по прежнему просто:
var arr = { 1 : 'one', 2 : 'two', 3 : { 1 : 'text', 2 : 'mda'}};
alert(Object.keys(arr).length); // 3
Все работает именно так, как я ожидал. Результат (3) как раз показывают вам длину объекта.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
26 апр. 2024, в 07:47
2000 руб./за проект
26 апр. 2024, в 06:46
1000 руб./в час
26 апр. 2024, в 05:31
1000 руб./за проект