我有一個Perl循環,我正在循環並構建一個JavaScript數組。當我啓動JavaScript數組時,JavaScript數組的長度爲0;然而,它在2001年第一次快速增長到1001,在第三次增長到了4001。我期待的長度是3!以下是代碼和perl hash後面的代碼。Perl哈希JavaScript數組長度爆炸
代碼
var offers = [];
% foreach my $amount (keys %$offers) {
offers['<% $amount %>'] = [];
console.log(offers.length);
% }
Perl的哈希
{
'1000'=>{
'6'=>{
'payment'=>'173.49',
'fee'=>'2',
'APR'=>'13.9'
},
'4'=>{
'payment'=>'256.23',
'fee'=>'2',
'APR'=>'11.9'
}
},
'2000'=>{
'6'=>{
'payment'=>'346.98',
'fee'=>'2',
'APR'=>'13.9'
},
'4'=>{
'payment'=>'512.46',
'fee'=>'2',
'APR'=>'11.9'
}
},
'4000'=>{
'6'=>{
'payment'=>'693.96',
'fee'=>'2',
'APR'=>'13.9'
},
'4'=>{
'payment'=>'1024.92',
'fee'=>'2',
'APR'=>'11.9'
}
}
};
好了,不顯示任何東西,JS數組有一個非常奇怪的概念。試着看看實際的指數數量:'var indices; for(key in array){indices.push(key)} console.log(indices.length)' – amon 2013-05-06 19:07:21
第一遍提供[1000] = []'。這將創建一個長度爲1001的數組,因爲它由索引0到1000組成。也許您應該使用對象而不是數組。 – Barmar 2013-05-06 19:09:43
@Barmar,如何將建議轉換這個對象?在Perl中使用JSON編碼,或者在JavaScript中手動構建對象? – 2013-05-06 21:10:37