Javascript 用Google Apps脚本替换数组中的变音符号
我们正试图用更友好的数据库替换表中的所有变音符号。我希望能够将这里找到的解决方案()应用于数组 我们已经访问了关于“在Javascript中删除字符串中的重音/变音符号”的主题,该解决方案对于一个单元格非常有效。但是,当我尝试使用当前代码执行此操作时,它只更改一个值并将其粘贴到整个数组中。我做错了什么 (代码的其余部分在链接中可见)Javascript 用Google Apps脚本替换数组中的变音符号,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,我们正试图用更友好的数据库替换表中的所有变音符号。我希望能够将这里找到的解决方案()应用于数组 我们已经访问了关于“在Javascript中删除字符串中的重音/变音符号”的主题,该解决方案对于一个单元格非常有效。但是,当我尝试使用当前代码执行此操作时,它只更改一个值并将其粘贴到整个数组中。我做错了什么 (代码的其余部分在链接中可见) function removeDiacritics(){ var range=“A2:B3”; var数组=SpreadsheetApp.getActiveSpre
function removeDiacritics(){
var range=“A2:B3”;
var数组=SpreadsheetApp.getActiveSpreadsheet().getSheetByName(“Cleaner”).getRange(range).getValues();
var base=SpreadsheetApp.getActiveSpreadsheet().getSheetByName(“Cleaner”).getRange(范围);
var newArray=[];
对于(变量行=0;行答案:
您正在嵌套循环中迭代错误的计数器变量
修正:
在嵌套循环中,要更改要比较的数组的元素,需要更改:
for(变量行=0;行回答:
您正在嵌套循环中迭代错误的计数器变量
修正:
在嵌套循环中,要更改要比较的数组的元素,需要更改:
for(var-row=0;row)我认为您的脚本可能被错误复制。因为for(var-i=0;row)我认为您的脚本可能被错误复制。因为for(var-i=0;row)
function removeDiacritics () {
var range = "A2:B3";
var array = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Cleaner").getRange(range).getValues();
var base = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Cleaner").getRange(range);
var newArray = [];
for(var row=0;row<array.length;row++){
for(var i=0;row<array[row].length;i++){
var newText = array[row][i].replace(/[^\u0000-\u007E]/g, function(a){
return diacriticsMap[a] || a;
});
newArray.push(newText);
}
}
base.setValue(newArray);
}