我移植MATLAB代碼JavaScript和我碰到一些代碼,看起來像這樣走過來:我怎麼能在Javascript中實現這樣的多維數組?
MatrixVar(a, b, c, c, i) = y_var(i);
我怎麼能去的Javascript實現類似MatrixVar
?
我移植MATLAB代碼JavaScript和我碰到一些代碼,看起來像這樣走過來:我怎麼能在Javascript中實現這樣的多維數組?
MatrixVar(a, b, c, c, i) = y_var(i);
我怎麼能去的Javascript實現類似MatrixVar
?
如果你想要精確的語法(使用parens),MatrixVar
必須是JavaScript中的一個函數。但它不能是一個函數,因爲你將分配給函數返回的任何東西。
多維數組的樣子arr[a][b][c][c][i]
,並且實際上嵌套數組:
var arr = [];
for(var i=0; i<3; i++) {
// create new nested arrays
arr[i] = [];
for(var j=0; j<3; j++) {
// populate nested arrays
arr[i][j] = j;
}
}
最後,arr
看起來就像這樣:
[
[0,1,2],
[0,1,2],
[0,1,2]
]
你可以做小幫手訪問您的多維數組索引與功能,如下所示:
鑑於:
var arr = [[[[['foo']]]]];
的這個助手:
Array.prototype.access = function(){
var last = this;
for (var a=0; a<arguments.length; a++){
last = last[arguments[a]];
}
return last;
};
如果你想打印 「富」,而不是arr[0][0][0][0][0]
你可以這樣做:
arr.access(0,0,0,0,0); //=> "foo"
使用庫。認真。我不能保證它,但這個看起來不錯,並支持n維數組:mathjs。另請參閱此related question。
但是,要用別的東西替換''foo'',你必須使用'arr.access(0,0,0,0)[0] ='bar''。 – bfavaretto