Javascript 如何使用另一个数组的筛选索引筛选数组?

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

我当前的代码将值、注释和背景色的相同数据范围的值捕获到3个单独的数组中。然后,它按嵌套数组中的第一项过滤值数组,只返回与定义的
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捕捉到我的打字错误。该示例非常有用。我仍在学习基础知识,您让我了解了对象文字语法的有用性。