嘗試僅對不同的值進行排序并將其推送到新陣列中,然后找到結果陣列的長度。請參閱下面的代碼。UniqueTeams.length 是 1,而它應該是 5(我想)。
var teams = [[formSS.getRange("F8").getValue(),
formSS.getRange("F10").getValue(),
formSS.getRange("F12").getValue(),
formSS.getRange("F14").getValue(),
formSS.getRange("F16").getValue()]];
var uniqueTeams = removeDups(teams);
if(uniqueTeams.length < 5){
{SpreadsheetApp.getUi().alert(uniqueTeams);
return;}
}
function removeDups(array) {
var outArray = [];
array.sort();
outArray.push(array[0]);
for(var n in array){
if(outArray[outArray.length-1]!=array[n]){
outArray.push(array[n]);
}
}
return outArray;
}
uniqueTeams = Alabama (2),Maryland (10),Cleveland St (15),BYU (6),Liberty (13)
uniqueTeams.length = 1
uj5u.com熱心網友回復:
獲取獨特元素
function remdup() {
const ss = SpreadsheetApp.getActive();
const sh = ss.getActiveSheet();
const t = sh.getRange('F8:F16').getValues().flat();
let teams = [t[0], t[2], t[4], t[6], t[8]];
let s = new Set(teams)
teams = [...s];
Logger.log(teams.join(','))
}
放
uj5u.com熱心網友回復:
庫珀的回答是最好的終極解決方案。但是,如果您只想修復代碼,可以嘗試更改該行:
var uniqueTeams = removeDups(teams);
和:
var uniqueTeams = removeDups(teams[0]);
由于teams是一個二維陣列 [[...]]。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/442372.html
