I am trying to break out an array into several different arrays to paste information across several sheets. I am having trouble filtering my main data array (bigArray) dynamically with a separate array (sheetCheck). If I type a static filter i.e. "02A" the filter works. How can I modify my filter to accept variable information?
function testArray (){
var ss = SpreadsheetApp.getActiveSpreadsheet();
//Get full array of Budget Pricing Breakdown Sheet
var originalArray = ss.getRangeByName('XxTestRange').getValues();
//Delete unused columns from array. Only Leaves sheetNumber, description, qty, UM, unitCost
var newArray = originalArray.map(function(row){return[row[0],row[5],row[6],row[7],row[10]];});
//Delete unused rows that have a value of X in the sheetNumber
var bigArray = newArray.filter(function(item){return item[0] != "X";});
//Get array of Applicable Tabs
var originalSheetsArray = ss.getRangeByName('XxTestRange2').getValues();
//Remove unused column
var newSheetsArray = originalSheetsArray.map(function(row){return[row[0],row[2]];});
//Delete not applicable rows
var sheetCheckBad = newSheetsArray.filter(function(item){return item[1] != "Not Applicable"});
//Separate just appicable trades
var sheetCheck = sheetCheckBad.map(function(row){return[row[0]];});
for (var i=0; i<sheetCheck.length;i++){
var sheetNumber = sheetCheck[i];
//Logger.log(sheetNumber)
var pasteArray = bigArray.filter(function(item, sheetNumber){return item[0] == sheetNumber})
//var pasteArray = bigArray.filter(filterSheetLogic)
Logger.log(sheetNumber);
Logger.log(pasteArray);
}
}
//Pull individual Arrays based on sheet numbers
var filterSheetLogic = function(item, sheetNumber){
if (item[0] == sheetNumber){
return true;
} else {
return false;
}
}
var pasteArray = bigArray.filter(function(item, sheetNumber){return item[0] == sheetNumber})because paste array is currently empty on all iterations. If one removes the variable sheetNumber the function works correctly. I just used 11 columns of numbers.