我在 Google Apps 腳本中。我從電子表格“檔案”中獲取所有資料。最上面一行是“字母”、“”、“模板”、“”。第 1 列具有人類可讀的檔案描述(例如“致客戶的信”)。第 2 列包含模板的 Google 檔案 ID。第 3 列回傳到人們可讀的備忘錄描述,第 4 列包含模板的 Google Docs ID。
我的目標是將這張表生成的陣列分成兩個單獨的陣列,這樣 var larray = ["letter to client", "docID"] (等等;大約有 10 行字母和 7 行備忘錄) . 我需要能夠尋址,例如 larray[4][1] 并回傳 docID。
這是我的腳本,但現在我只得到一個 1D 陣列,而不是 2D 陣列。我缺少什么來強制 larray 進入二維?
function testArray(){
var data = ssAF.getSheetByName('Documents').getDataRange().getValues();
var larray = [];
var marray = [];
for(var i = 0; i < data.length; i ){
if(data[0][i] == "Letters"){
for (var j = 0; j < data.length; j ) {
if (data[j][i] != "") {
larray.push(data[j][i], data[j][i 1])
}
}
}
else if (data[0][i] == "Memoranda"){
for (var j = 0; j < data.length; j ) {
if (data[j][i] != "") {
marray.push(data[j][i]);
}
}
}
}
}
uj5u.com熱心網友回復:
描述
如果 larray = [],larray.push(a,b) 將產生一個一維陣列 [a,b]。而 larray.push(c,d) 變為 [a,b,c,d]。要制作二維陣列,請使用 larray.push([a,b]),現在 larray 是 [[a,b]]。larray.push([c,d]) 變成 [[a,b],[c,d]]
腳本
function testArray(){
var data = ssAF.getSheetByName('Documents').getDataRange().getValues();
var larray = [];
var marray = [];
for(var i = 0; i < data.length; i ){
if(data[0][i] == "Letters"){
for (var j = 0; j < data.length; j ) {
if (data[j][i] != "") {
larray.push([data[j][i], data[j][i 1]])
}
}
}
else if (data[0][i] == "Memoranda"){
for (var j = 0; j < data.length; j ) {
if (data[j][i] != "") {
marray.push([data[j][i]]);
}
}
}
}
}
參考
- https://www.w3schools.com/jsref/jsref_push.asp
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/452735.html
標籤:javascript 数组 谷歌应用脚本
