2014-09-30 64 views
-1

無法設置屬性「0」,我創建3維數組,但不順心的事的多維數組遺漏的類型錯誤:未定義

var bucket =[0]; 
var choose = [[],[]]; 
var x = 0; 
$.each($('.bucket'), function() { 
    bucket[x] = [choose[0], []]; 
    for (var i=0; i<$(this).find('.choose').length; i++) { 
     choose[i][0] = $(this).find('.serie').val(); 
     choose[i][1] = $(this).find('.quantity').val(); 
     choose[i][2] = $(this).find('.type').val(); 
     choose[i][3] = $(this).find('.totali').val(); 
    }; // end for 
    x++; 
}); // end each buckets 
console.log(choose); 

和控制檯說:

Uncaught TypeError: Cannot set property '0' of undefined

有什麼不對?

+0

因爲您嘗試引用'選擇[0]'。你需要用東西來定義它 – Cfreak 2014-09-30 18:11:30

+2

U沒有定義桶陣列 – mfarouk 2014-09-30 18:12:55

+0

'$(this).find('.select').length'返回什麼?你只在'choose'中定義了兩個元素。所以如果'i === 2',你試圖設置'選擇[2]',這不存在。 – 2014-09-30 18:23:55

回答

1

變量桶尚未初始化,並且您正試圖訪問位置x = 0。在訪問位置0之前使用var bucket = [];

+0

它在那裏,現在就適用 – funny 2014-09-30 18:26:21

相關問題