如何改变列表值/格式?



我正在检查一个包含"editor "以及各种"市场"。附加到它,并获得一个唯一的编辑列表,其中包含每个市场的条目数。

使用这个脚本,我设法得到两个列表:"editor"one_answers"market"

function JonSnow() {
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange("XX!J1:J114");
var data = range.getDisplayValues();
Logger.log(JSON.stringify(data));
const editor = [];
const market = [];

data.forEach( (val, index) =>{
if(val !="None - regular editor" && val !="N/A" && val !="Cov?" && val !="" && val !="None - no cross-market coverage for this task"){
if(index >= 2 && index <= 12){
markett = "Dach";
}else if (index >= 15 && index <= 30) {
markett = "Dutch";
}else if (index >= 32 && index <= 48) {
markett = "French";
}else if (index >= 52 && index <= 64) {
markett = "Italian";
}else if (index >= 67 && index <= 74) {
markett = "Nordics";
}else if (index >= 77 && index <= 92) {
markett = "polish";
}else if (index >= 95 && index <= 114) {
markett = "Uk";
};
editor.push(val)
market.push(markett)
} else {
return
};
});
Logger.log(editor);
Logger.log(market);
const edunique = [...new Set(editor)];

我接下来的步骤应该是获得一个唯一编辑器和循环的列表,计算市场进入的数量。问题是,[...new Set(editor)]不起作用,我相信这是因为我的"编辑"。list返回[[Name1],[Name2],[Name1]],应该返回["Name1","Name2","Name1"]工作

以下是我的问题:

  • 如何调用这样的格式?[[],[],[]]
  • 我哪里出错了,得到了这个?
  • 如何解决这个问题,或者防止它?

谢谢!!(对不起,如果我的标题没有帮助,因为我不知道该怎么称呼我的问题)

Range..getDisplayValues()函数得到一个2D数组。要获得1D数组,使用Array.flat(),如下所示:

const data = range.getDisplayValues().flat();

最新更新