Javascript 如何使用另一个数组的筛选索引筛选数组?
我当前的代码将值、注释和背景色的相同数据范围的值捕获到3个单独的数组中。然后,它按嵌套数组中的第一项过滤值数组,只返回与定义的Javascript 如何使用另一个数组的筛选索引筛选数组?,javascript,arrays,google-apps-script,filter,Javascript,Arrays,Google Apps Script,Filter,我当前的代码将值、注释和背景色的相同数据范围的值捕获到3个单独的数组中。然后,它按嵌套数组中的第一项过滤值数组,只返回与定义的statArray数组项匹配的项。现在,我希望其他两个数组过滤器(Notes、Background)通过过滤值数组中返回项的索引进行过滤。这样,当我设置背景和注释数组时,它们会正确地重叠到值上 function moveAllNew() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var activeShe
statArray
数组项匹配的项。现在,我希望其他两个数组过滤器(Notes、Background)通过过滤值数组中返回项的索引进行过滤。这样,当我设置背景和注释数组时,它们会正确地重叠到值上
function moveAllNew() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var activeSheet = SpreadsheetApp.getActiveSheet();
var activeSheetName = activeSheet.getName();
var lastRow = activeSheet.getLastRow();
var lastColumn = activeSheet.getLastColumn();
var statArray = ["Captures Sent Probably you meant to use lastRow
instead of lastColumn
when determining activeRange
.
Anyway, you need to perform some operation that allows you to access the current indices, and while you have the indices, also operate on your other equal-sized arrays.
One example:
var qaData = {values: [], notes: [], bgs: [] };
activeRangeValues.forEach(function (row, idx) {
if (row[i] === statArray[0] || row[i] === statArray[1]) {
qaData.values.push(row);
qaData.notes.push(activeRangeNotes[idx]);
...
});
// Use the qaData object
函数moveAllNew(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var activeSheet=SpreadsheetApp.getActiveSheet();
var activeSheetName=activeSheet.getName();
var lastRow=activeSheet.getLastRow();
var lastColumn=activeSheet.getLastColumn();
var statArray=[“捕获发送的在确定activeRange
时,您可能打算使用lastRow
而不是lastColumn
无论如何,您需要执行一些允许您访问当前索引的操作,并且在拥有索引的同时,还需要对其他大小相同的数组进行操作
一个例子:
var qaData={value:[],notes:[],bgs:[]};
forEach(函数(行,idx){
if(第[i]行===statArray[0]| |第[i]行===statArray[1]){
qaData.values.push(行);
qaData.notes.push(activeRangeNotes[idx]);
...
});
//使用qaData对象
感谢您用lastRow和lastColumn捕捉到我的打字错误。该示例非常有用。我仍在学习基础知识,您让我了解了对象文字语法的有用性。