大家好我是谷歌应用程序脚本中的新人,我需要帮助我plzzz

时间:2014-12-10 15:52:04

标签: google-apps-script

function suppd() {

  var monSpread = SpreadsheetApp.getActiveSheet();

  var myObject = monSpread.getDataRange().getValues();
  var nvData = [];

  for(i in myObject){
    var row = myObject[i];
    var duplicate = false;
    for(j in nvData){
      if(row.join() == nvData[j].join()){
        duplicate = true;
      }
    }
    if(!duplicate){
      nvData.push(row);
    }
  }
  monSpread.getRange(1, 3, nvData.length, nvData[0].length).setValues(nvData);
}

大家好我是谷歌应用程序脚本中的新人,我需要帮助我,我想在另一个数组中显示我的重复单词以及重复多少时间,例如我在我的数组中有苹果苹果苹果bannane我要显示在我的下一个数组apple | 3 | Bannane | 1

1 个答案:

答案 0 :(得分:0)

最好使用一个对象来记录哪些项目是重复的,以及计数是什么。您已经在检查NOT副本:

Logger.log("duplicate value is: " + duplicat);

if(!duplicate){
  nvData.push(row);
}

添加和ELSE条件:

var dupObject = {};
var countThisDuplicate = 0;

if(!duplicate){
  nvData.push(row)
} else {
  //Check if duplicate is already in the object
  Logger.log("The else part of the code ran!");
  if (dupObject[j]) {
    //If duplicate is already in the object, get the count, then add one to it
    countThisDuplicate = dupObject[j] + 1;
    dupObject[j] = countThisDuplicate;
  } else {
    //If duplicate is NOT already in the object, add the member with a count of one
    dupObject[j] = 1;
  };
};

我只是把它扔在一起而没有测试它,所以它可能有错误。它只是给你一个想法,并尝试回答你的问题。希望它能为您提供解决问题的基本逻辑。