如何使用 map (GAS) 将这些字符串转换为小数?

How can I make these strings into decimals using map (GAS)?

我试图确保结果列将仅包含数字,但它一直以字符串形式出现。

function moveColsWesbanco() {
  var ss = SpreadsheetApp.getActive();
  var sourceSheet = ss.getSheetByName('Sheet1');
  var destSheet = ss.getSheetByName('New Entry');
  var debitsCredits = sourceSheet.getRange('A7:D');
  var values = debitsCredits.getValues();
  let amounts2 = values.filter(o => o[0] != '').map(e => e[2] != '' ? e[3] = Number.parseFloat(e[2]) : Number.parseFloat(e[3]));
  let allTypes = [];
  for (val in amounts2) {
    allTypes.push(typeof val)
  };
  Logger.log('Types within it: ' + allTypes)
  return;
}

日志如下:

所以...我想知道我在这里遗漏了什么。谢谢!

我认为当像for (val in amounts2) {}那样使用“for in”时,val就是索引。而且,它是字符串类型。我认为这就是你的问题的原因。在这种情况下,如下使用“for of”怎么样?

修改后的脚本:

for (var val of amounts2) {
  allTypes.push(typeof val)
};

参考文献: