【发布时间】:2020-05-08 23:09:22
【问题描述】:
我是 JavaScript 的新手,可能需要一些帮助来解决我在使用 Google Apps 脚本时遇到的问题。
我打算根据一个数组过滤我的数据,该数组是我从特定工作表中的特定单元格中获取的,其中包含我不想保留在数据中的字符串元素。换句话说,应该从我的工作表中删除包含这些关键字的行。
到目前为止,我已经设法在我的过滤器函数中使用单个字符串元素来做到这一点。
// elements to filter out.
var keys = [['a','b','c']];
// example data.
var data = [['a',1,2],
['c',4,3],
['d',3,4]];
// my approach for a single element which works.
var filterText = "a";
var newData1 = data.filter(function(item) {
return item[0] !== filterText;
});
console.log(newData1); // output: [ [ 'c', 4, 3 ], [ 'd', 3, 4 ] ]
但是,如果我尝试将此逻辑扩展到使用数组过滤数据的情况,我就有麻烦了。我编写了下面的代码,它正确地检查了我的数据,但没有返回预期的结果。我知道我在这里错过了代码的关键部分,但无法弄清楚它是哪一个。我把代码转了好几次,但都卡住了。
for(var n=0; n<keys[0].length; n++) {
// console.log(keys[0][n]);
var newData2 = data.filter(function(item) {
// console.log(item[0] === keys[0][n]);
return item[0] === keys[0][n];
})
};
console.log(newData2); // output: [ [ 'c', 4, 3 ] ]
希望你们能指出我正确的方向并帮助我了解我在哪里犯了错误。
谢谢!
【问题讨论】:
标签: javascript arrays google-apps-script google-sheets