У меня возникли проблемы с подсчетом количества объектов в этом массиве в javascript. Ниже представлен массив объектов, которые я пытаюсь подсчитать с помощью моего кода.Цитирование по списку массивов для подсчета объектов
<script>
var arr = [
{"gateways":["ccu1"],"manufacturer":["homematic"],"ir":["ir_no"],"ip":["ip_cam","ip_other"]},
{"gateways":["v3"],"manufacturer":["homematic"],"ir":["ir_no"],"ip":["ip_cam"]},
{"gateways":["v2","v3","v4","ccu2"],"manufacturer":["homematic","intertechno"],"ir":["ir_yes"],"ip":["ip_cam","ip_other"]},
{"gateways":["v2","ccu1","ccu2"],"manufacturer":["homematic"],"ir":["ir_yes"],"ip":["ip_cam","ip_other"]},
{"gateways":["gw_none"],"manufacturer":["homematic"],"ir":["ir_no"],"ip":["ip_cam"]},
{"gateways":["v3","ccu2"],"manufacturer":["homematic","fs20","intertechno","elro","Eltako Enocean"],"ir":["ir_yes"],"ip":["ip_cam","ip_other"]},
{"gateways":["v3","v4"],"manufacturer":["homematic"],"ir":["ir_no"],"ip":["ip_other"]},
{"gateways":["v3","v4"],"manufacturer":["homematic"],"ir":["ir_no"],"ip":["ip_other"]},
{"gateways":["v2"],"manufacturer":["intertechno"],"ir":["ir_yes"],"ip":["ip_other"]}
];
var counter = [];
for(var i=0; i<arr.length; i++) {
//console.log(arr[i]);
for(var index in arr[i]) {
console.log(index);
if(counter[index] === undefined) {
counter[index] = [];
}
}
}
console.log(counter);
</script>
Я хочу, чтобы количество объектов вдавливалось в пустой счетчик массива при консолидации журнала «счетчик», например.
шлюзы
CCU2 42 v4 70 v2 95 v3 91 v4plus 32 ccu1 16 gw_none 10
ф
ip_cam 4 ip_other 10 ip_none 4
ИК
ir_yes 13 ir_no 18
производитель
homematic 24 FS20 59 intertechno 38 ELRO 63 homeeasy 40 SOMFY 11
Я новичок в программировании и пытается мои руки на некоторых несколько упражнений, как этот, но я застрял. Я остался с кодами, чтобы поместить счетчик объектов в пустой массив. Я попытался, но не могу позволить этому работать. Я был бы признателен за любую помощь, и я надеюсь, что мое задание имеет смысл и понятно.
Нет объектов 'arr.length' в массиве? –
Начните с инициализации 'counter' как объекта, а не массива, т. Е.' Var counter = {}; '. Массивы используют числовые клавиши, в то время как вы хотите использовать строки в качестве ключей. http://jsfiddle.net/frsbawwz/ – pawel