2013-10-30 129 views
0

如何在javascript中創建2d數組並使用用戶輸入的值加載它?創建2d數組Javascript

var b; 
b = new Array(3); // allocate rows 
b[ 0 ] = new Array(3); // allocate columns for row 0 
b[ 1 ] = new Array(3); // allocate columns for row 1 
b[2]= new Array(3); 
+3

如何獲得用戶輸入?與元素表? – tomdemuyt

+0

你是想用它來實現嗎? – Sorter

+0

使用var b = []來創建數組,而不是b = new Array(3);當你需要在數組中添加一些東西時,可以使用這個b.push([2,2,3]); – Max

回答

1

如何創建一個二維數組:從用戶輸入How can I create a two dimensional array in JavaScript?

載荷值:基本使用

b[0][0] = myInput00; 
b[0][1] = myInput01; 

...等。等

可能更結構化的使用for循環,即

for (var i=0;i<input.length;i++) 
{ 
    for (var j = 0; j < input.height; j++) 
    { 
     b[i][j] = input[i][j]; 
    } 
} 

與輸入[i] [j]與您然而輸入被格式化替換。根據輸入格式的不同,答案明顯不同,但這是一般模式。

編輯:如果輸入是固定的3x3框,您可以將所有表格單元格分配爲單獨的div或跨度,並分配每個數組索引(b [0] [0],b [0] [ 1]等)。

0

許多語言中的多維數組只是數組中的數組。

// Create an array with 4 elements. 
var b = [1, [2, 3], [4, [5, 6], 7], 8]; 
console.log(b.length); // 4 

// Looping through arrays 
for(var i=0; i<b.length; i++){ 
    // b[0] = 1 
    // b[1] = [2, 3] 
    // b[2] = [4, Array[2], 7] 
    // b[3] = 8 
    console.log("b["+i+"] =", b[i]); 
} 

// Since b[1] is an array, ... 
console.log(b[1][0]); // First element in [2, 3], which is 2 

// We can go deeper. 
console.log(b[2][1]); // [5, 6] 
console.log(b[2][1][0]); // 5 

// We can change entries, of course. 
b[2][1][0] = 42; 
console.log(b[2][1][0]); // 42 

b[1] = ['a', 'b', 'c']; 
console.log(b[1][0]); // "a" 

因此,使得3×3矩陣可以做這樣的:

var b = []; 
for(var i=0; i<3; i++){ 
    b[i] = []; 
    for(var j=0; j<3; j++){ 
    b[i][j] = prompt("b["+(i+1)+","+(j+1)+"] = ?"); 
    } 
} 

(當然,這不是做的最好的方式,但它是按照最簡單的方法。 )