【发布时间】:2016-12-02 23:01:05
【问题描述】:
我正在尝试将一个数组推送到 Google Apps 脚本中的另一个数组中。我正在从电子表格(数组数组)中提取数据,执行相对于另一个数组的匹配,然后希望将该匹配中的相应值传递到新数组中。新数组需要与原始数组(数组的数组)具有相同的结构。我没有任何运气得到这个结果。我试图“推送”匹配数组,但我要么得到一个巨大的数组,要么得到一个与原始数组结构不匹配的较小数组的数组。当我尝试使用基于原始数组循环的索引时,我得到一个“TypeError”。
/*
Step 1 - Read All Data Into An Array
*/
//Gets Client Data For Each Firm
mysheet = ss.getSheetByName(sheetNames[1]); //Adjusted worksheet
ss.setActiveSheet(mysheet);
arrInput = ss.getRangeByName(rngNameRawClientType).getValues();
//Gets Client Classifcation and Score Data
mysheet = ss.getSheetByName(sheetNames[2]); //Data Validation worksheet
ss.setActiveSheet(mysheet);
arrClassification = ss.getRangeByName(rngNameClient).getValues();
/*
Step 2 - Perform Calculations on the Data
*/
//Iterate Through Raw Data Input Array (Rows)
for(var r = 0; r < arrInput.length; r++) {
//Iterate Through Column of Each Row
for(var c = 0; c < arrInput[r].length; c++) {
var strClientType = arrInput[r][c];
//Compare To Classification Array - Return Corresponding Score
var matchScores = [];
for(var z = 0; z < arrClassification.length-1; z++) {
if(arrClassification[z][0] === strClientType) {
//Add Score to Scores Array
matchScores.push(arrClassification[z][1]);
}
}
}
scores.push(matchScores);
【问题讨论】:
-
您能否发布两个数组和所需输出的示例?
标签: javascript multidimensional-array google-apps-script