我需要將具有匹配訂單號的表中的行分組,然後迭代分組。如何遍歷JavaScript中的鍵控數組?
我有此代碼的工作,其創建完美陣列,數據明智:
var multItems = [];
//combine items under orders,
$('tr.order').each(function(){
var orderNum = $(this).find('.ordernumber').val();
if (($('tr.order .ordernumber[value="'+orderNum+'"]').length > 1) && !(orderNum in multItems)){
$('tr.order .ordernumber[value="'+orderNum+'"]').each(function(){
if (!(orderNum in multItems)){
multItems[orderNum] = [];
}
multItems[orderNum].push(this);
});
}
});
//create new tr with order totals (of each item)
for (var i = multItems.length - 1; i >= 0; i--) {
//code
};
但它創建具有長度爲0的數組,顯然,其中multItems
[]
=但multItems[orderNumber]
定義..如果我不知道訂單號,就無法訪問它。我可以分別製作一系列訂單號碼,但感覺這一定是漫長的。如果我只是創建一個編號數組,我怎麼知道哪個編號從訂單中彈出項目?
眼下'orderNum'是一個字符串,使用'parseInt',甚至'推()'如果可能的話,將解決一些問題,如果它是在實際上你正在嘗試創建一個數字索引數組。 – adeneo 2013-03-25 21:48:10
無論如何,@ adeno-orderNum將被強制爲字符串,即使它是一個數字,所以這不是問題。 – RobG 2013-03-25 22:59:41
@ Damon-在你有問題的地方「但是'multItems [orderNumber]'被定義了」,但是在你有'multItems [orderNum]'的代碼中,是這樣嗎? – RobG 2013-03-25 23:04:56