【发布时间】:2018-06-23 18:47:18
【问题描述】:
在应用程序脚本中,我有以下内容:
function diff(A, B) {
return A.filter(function (a) {
return B.indexOf(a) == -1;
});
}
当我跑步时:
function testArray(){
ta = ['a','b','c','d']
ts = ['a','b','c']
o =diff(ta,ts)
Logger.log(o);
}
我得到:['d'] - 正确答案,现在我正在尝试将过滤器应用于二维值数组 - 谷歌表。
我试过了:
var ss = SpreadsheetApp.getActiveSpreadsheet();
var target_sheet_range = ss.getSheets()[1].getDataRange();
var target_sheet_values = target_sheet_range.getValues();
Logger.log('target_sheet_values');
Logger.log(target_sheet_values);
var range = ss.getSheets()[0].getDataRange();
var values = range.getValues();
Logger.log('values');
Logger.log(values);
var diff_values = diff(values, target_sheet_values)
但这并没有考虑到数组的二维特性。你可以在谷歌电子表格https://docs.google.com/spreadsheets/d/1fFr9Sz2EAiMYoybg-evV33n_BZjF-1QNnnKqiqSXQ_g/edit?usp=sharing看到它
输出:
[18-06-23 14:45:22:129 EDT] target_sheet_values
[18-06-23 14:45:22:130 EDT] [[a, a, a, a, a], [z, x, c, v, b], [m, n, b, v, c]]
[18-06-23 14:45:22:457 EDT] values
[18-06-23 14:45:22:458 EDT] [[a, a, a, a, a], [z, x, c, v, b], [m, n, b, v, c], [a, s, d, f, g], [q, w, e, r, t]]
[18-06-23 14:45:22:459 EDT] hhhhhh
[18-06-23 14:45:22:459 EDT] [[a, a, a, a, a], [z, x, c, v, b], [m, n, b, v, c], [a, s, d, f, g], [q, w, e, r, t]]
如何修改过滤函数2过滤一个二维数组
【问题讨论】:
标签: javascript arrays multidimensional-array google-apps-script