【发布时间】:2020-11-27 17:10:15
【问题描述】:
我需要在一列的所有单元格中找到多个值,并用不同的值替换它们
如果我只有一个值可以查找/替换我的函数效果很好
function FindReplace() {
var ss = SpreadsheetApp.getActiveSheet();
var col = [].concat.apply([], ss.getRange(2,3,ss.getLastRow()).getValues());
ss.getRange(2,3,ss.getLastRow()).setValues(col.map(fr));
function fr(input){
return [input.replace("something","something else")];
}
}
但我需要找到一个列表中的所有值并从另一个列表中替换它们,列表可以有 n 个元素
var ifind = ["This", "That", "The other"];
并用不同的列表替换它们
var ireplace = ["AAA", "BBB", "CCC"];
我一直在尝试在下面使用 map() 或 forEeach() 来执行此操作,但无济于事
function findreplace(input){
var ifind = ["This", "That", "The other"];
var ireplace = ["AAA", "BBB", "CCC"];
return [input.replace(ifind ,ireplace)];
}
我知道我可以在整个过程中使用循环,但尝试学习新事物,这看起来很有希望,或者至少是一种有趣的方法
谢谢
【问题讨论】:
-
如果您的目标是学习使用
map()和forEach()并且您知道如何使用循环来做您想做的事情,那么我建议您首先使用循环来实现它。如果您不知道如何修改以使用数组方法,请使用您的代码更新您的问题,SO 社区将更有帮助。
标签: javascript google-apps-script google-sheets