【发布时间】:2017-09-04 09:39:58
【问题描述】:
我需要帮助来获取特定列(B 列)的唯一排序值列表。
这是我的尝试(它不起作用),你能帮我找出错误吗?
我无法获得 [object] 格式的正确范围...
function onlyUnique(value, index, self) {
return self.indexOf(value) === index;
}
function UniqueRange() {
var s = SpreadsheetApp.getActiveSpreadsheet();
var sht = s.getSheetByName('Prova')
var drng = sht.getDataRange();
var rng = sht.getRange(2,2, drng.getLastRow()-1,1);
var rngA = rng.getValues();
var shtout = s.getSheetByName('Nuovo');
var rngout = shtout.getRange(2,1,rngA.length,1)
var rngB = rngout.setValues(rngA);
var i = 0; i < rngA.length; i++
var rngB = rngB[i];
var unique = rngB.filter( onlyUnique );
}
Bellian 的解决方案:
function onlyUnique(value, index, self) {
return self.indexOf(value) === index;
}
function uniquevalues(){
var s = SpreadsheetApp.getActiveSpreadsheet();
var sht = s.getSheetByName('Prova')
var drng = sht.getDataRange();
var rng = sht.getRange(2,2, drng.getLastRow()-1,1); //range that contain all values
var rngA = rng.getValues();
var unique = [];
for(var i = 0; i < rngA.length; i++) {
var unique = unique.concat(rngA[i+1]);
}
unique = unique.filter(onlyUnique);
Logger.log(unique)
}
【问题讨论】:
-
您可以使用以下方法获取数组的所有唯一元素:[...new Set(array_to_sort)]
-
检查 rngB 是否包含正确的值。
-
@Bellian 我不明白
-
@Bellian 我认为现在应该可以了
-
@Bellian if I put "...new Set" 对我说“语法错误”
标签: javascript arrays google-apps-script google-spreadsheet-api