Я использовал фрагмент кода и дополнил его (чтобы не ругался на неизвестные массивы). У меня получился фрагмент:
all = {
"2017-08-10": 10,
"2017-08-11": 11,
"2017-08-12": 12,
"2017-08-13": 13,
"2017-08-14": 14
};
register = {
"2017-08-10": 10,
"2017-08-11": 11,
"2017-08-12": 12,
"2017-08-13": 13,
"2017-08-14": 14
};
percent = {
"2017-08-10": 10,
"2017-08-11": 11,
"2017-08-12": 12,
"2017-08-13": 13,
"2017-08-14": 14
};
result = ["2017-08-10","2017-08-11","2017-08-12","2017-08-13","2017-08-14"];
compact = [];
for (var i = 0; i < result.length; i++)
{
compact.push([i+1,all[result[i]],register[result[i]], percent[result[i]] ]);
}
При выполнении указанных Вами комманд:
console.log(Object.keys(compact).length)
console.log(compact.length)
В обох случаях возвращается 5.
Что я делаю не так? и чем мой код отличается от Вашего?