Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   forEach для ассоциативного массива (https://javascript.ru/forum/misc/65324-foreach-dlya-associativnogo-massiva.html)

raja 12.10.2016 16:51

forEach для ассоциативного массива
 
Такой код работает:
array = [10, 2, 130];
array.forEach(function(el, id, arr) {
	alert('id: '+id+' = '+el);
});


а такой выдаёт ошибку "TypeError: array.forEach is not a function"
array = {'1': 10, '2': 2, '3': 130};
array.forEach(function(el, id, arr) {
	alert('id: '+id+' = '+el);
});

Почему foreach не работает для ассоциативного массива?

рони 12.10.2016 17:04

raja,
Object.keys(obj).forEach

Aetae 12.10.2016 17:08

Потому что в js это называется объект и массивом он не являяется.)
obj = {'1': 10, '2': 2, '3': 130};
Object.keys(obj).forEach(function(key, id) {
    alert('id: '+id+', key: '+ key +' = ' + obj[key]);
});


Часовой пояс GMT +3, время: 20:50.