如何用JavaScript在数组中用逗号替换点

如何用JavaScript在数组中用逗号替换点,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,我在谷歌表单中有一个单列数组。数组包含点“.”作为分数部分(0.234、23.6789、34.987等)的分隔符。我想用逗号“,”替换数组中的所有点,以便通过Google脚本获取(023423678934987等)。 我写了这段代码,但不起作用 function checkItNow() { const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheetByName('TESTSCRIPTS');

我在谷歌表单中有一个单列数组。数组包含点“.”作为分数部分(0.234、23.6789、34.987等)的分隔符。我想用逗号“,”替换数组中的所有点,以便通过Google脚本获取(023423678934987等)。 我写了这段代码,但不起作用

function checkItNow() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getSheetByName('TESTSCRIPTS');
  let vals1 = sheet.getRange(1, 2, sheet.getLastRow()).getValues().map(a => a[0]);
  Logger.log(vals1);
  let newVals1 = vals1.map(dots => dots.replace('.', ','));
演示:
let vals1=[0.234,23.6789,34.987]
设newVals1=vals1.map(dots=>dots.replace('.','.',');
console.log(newVals1)
您也可以使用

.replace(/\./g,',')

正则表达式应该是这样的:
/\./g

let regex=/\./g
设vals1=['0.234','23.6789','34.987']
让newVals1=vals1.map(dots=>dots.replace(regex,“\,”);

console.log(newVals1)
您可以使用以下方法解决此问题:

正如
dots
这里实际上是一个数字,而不是一个字符串,方法只对字符串有效

let vals1=[0.234,23.6789,34.987]
让newVals1=vals1.map(dots=>dots.toString().replace('.',');

console.log(newVals1)
您能分享一下这里的
vals1
吗?它是字符串数组还是数字数组?我用vals1array日志编辑的vals1看起来不是字符串错误很重要,应该在问题中引用。还应该通过模拟数组值来提供可运行的演示。为什么这个解决方案更好?据我所知,这会用一个“,”来代替一切。因为//引入了正则表达式和。什么都匹配?全局标志将替换每个字符,或者我遗漏了什么?为什么不试试呢。我在我的项目中使用了它,效果很好。“foo-bar.replace(//g),,”)返回“,,,,,,,”这和OP所做的不一样吗?这有什么区别?为什么回答这个问题?对不起,伙计们。它不起作用。错误:dots.replace不是函数对不起。它不起作用。错误:dots.replace不是一个函数,你是什么意思?代码段正在运行,没有任何问题。我只是复制了你的代码片段,然后更新了它。
let newVals1 = vals1.map(dots => dots.toString().replace(/\./g,','));