首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何检查Google脚本中的第二个数组中是否存在特定的数组编号

如何检查Google脚本中的第二个数组中是否存在特定的数组编号
EN

Stack Overflow用户
提问于 2018-06-19 02:48:02
回答 1查看 104关注 0票数 -1

我正在尝试构建一个快速的伪随机数生成器,具有唯一的数字,但有一个扭曲。选择的数字是从一个递增的样本集中,即(1-20)然后(2-21)...but由于我有限的编码经验,我得到了一些重复的。使用Google Script,有没有一种方法可以检查一个特定的数组元素是否存在于另一个数组中?

代码语言:javascript
复制
  function temp3() {
var ss = 
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet6");
 var range = ss.getRange("b14:av14");
 var m = 0

 var picks = [];

 for(var j = 1; j < 48; j++) {
  var array1 = [1+m, 2+m, 3+m, 4+m, 5+m, 6+m, 7+m, 8+m, 9+m, 10+m, 
11+m, 12+m, 13+m, 14+m, 15+m, 16+m, 17+m, 18+m, 19+m, 20+m];

  shuffleArray(array1); 
  picks.push(array1[0]);

  m = m + 1
 }
   ss.getRange(16, 2, 1, 47).setValues([picks]); 
}
EN

回答 1

Stack Overflow用户

发布于 2018-06-19 03:39:25

有很多方法可以做到这一点,但如果你不想过多地修改当前的方法,可以添加一个单独的函数来检查picks是否已经包含了你的数字。如果确实如此,则删除第一个元素并再次运行该函数。如果不是,则添加到picks。

代码语言:javascript
复制
function temp3() {
    var ss = 
    SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet6");
    var range = ss.getRange("b14:av14");
    var m = 0
    var picks = [];
    for (var j = 1; j < 48; j++) {
        var array1 = [1+m, 2+m, 3+m, 4+m, 5+m, 6+m, 7+m, 8+m,
                      9+m, 10+m, 11+m, 12+m, 13+m, 14+m, 15+m,
                      16+m, 17+m, 18+m, 19+m, 20+m];
        shuffleArray(array1); 
        picks = addToPicks(array1,picks)
        m = m + 1
    }
    ss.getRange(16, 2, 1, 47).setValues([picks]); 
}

function addToPicks(arr,picks) {
    if (picks.indexOf(arr[0]) === -1) {
        picks.push(arr[0])
        return picks
    }
    arr.shift();
    return addToPicks(arr,picks);
}

您也可以在shuffleArray函数中执行此检查。

顺便说一句,不是调用你的shuffleArray函数,而是去看看Math.random's documentation.,这里有一个函数,它在两个数字之间生成一个随机整数,这可能比打乱一个数组更有帮助。

代码语言:javascript
复制
function getRandomArbitrary(min, max) {
  return Math.random() * (max - min) + min;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50915727

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档