首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何从数组列表中选择4个不同的文本而不重复

从数组列表中选择4个不同的文本而不重复的方法有多种。以下是其中一种常见的方法:

  1. 首先,确保数组列表中至少有4个不同的文本元素。
  2. 创建一个空数组,用于存储选择的文本。
  3. 使用循环来选择文本。循环的次数为4,每次循环选择一个文本。
  4. 在每次循环中,生成一个随机数,范围为0到数组列表长度减1。
  5. 检查随机数对应的文本是否已经被选择过,如果已经选择过,则重新生成随机数,直到找到一个未选择过的文本。
  6. 将未选择过的文本添加到存储选择的文本的数组中。
  7. 重复步骤4到步骤6,直到选择了4个不同的文本。
  8. 返回存储选择的文本的数组作为结果。

以下是一个示例的JavaScript代码实现:

代码语言:javascript
复制
function selectDistinctTextsFromArray(array) {
  if (array.length < 4) {
    return "数组列表中的元素不足4个";
  }

  var selectedTexts = [];

  while (selectedTexts.length < 4) {
    var randomIndex = Math.floor(Math.random() * array.length);
    var selectedText = array[randomIndex];

    if (!selectedTexts.includes(selectedText)) {
      selectedTexts.push(selectedText);
    }
  }

  return selectedTexts;
}

var array = ["文本1", "文本2", "文本3", "文本4", "文本5", "文本6", "文本7", "文本8"];
var selectedTexts = selectDistinctTextsFromArray(array);
console.log(selectedTexts);

这个方法通过生成随机数来选择文本,并使用一个额外的数组来存储已选择的文本,确保选择的文本不重复。这样可以保证从数组列表中选择4个不同的文本。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

教程|Python Web页面抓取:循序渐进

这次会概述入门所需的知识,包括如何从页面源获取基于文本的数据以及如何将这些数据存储到文件中并根据设置的参数对输出进行排序。最后,还会介绍Python Web爬虫的高级功能。...确定对象,建立Lists Python允许程序员在不指定确切类型的情况下设计对象。只需键入对象的标题并指定一个值即可。 确立1.png Python中的列表(Lists)有序可变,并且可重复。...提取数据 有趣而困难的部分–从HTML文件中提取数据。几乎在所有情况下,都是从页面的不同部分中取出一小部分,再将其存储到列表中。...然后可以将对象名称分给先前创建的列表数组“results”,但是这样会将带有文本的标记带到一个元素中。大多数情况下,只需要文本本身而不需任何其他标签。...最简单的方法之一是重复上面的代码,每次都更改URL,但这种操作很烦。所以,构建循环和要访问的URL数组即可。 ✔️创建多个数组存储不同的数据集,并将其输出到不同行的文件中。

9.2K50

精通Excel数组公式022:提取唯一值列表并排序(续)

图13 使用数组公式对基于数字列的记录进行排序 下面的公式没有借助辅助列,而是使用数组公式对基于数字列的记录排序,如下图14所示。注意,第2个公式中COUNTIF函数解决了重复数字问题。 ?...图16 使用数组公式提取唯一值列表并排序混合数据 下图17展示了从混合数据中提取唯一值并排序的公式。 ? 图17 一个超级长的公式!下面简要讲解该公式。...如下图18所示,对于单元格区域A2:A5中的数据,升序排列后的结果显示在单元格区域G2:G5。而单元格区域C2:C5中的数字表示,如果排序该列表,有几个数据在你的前面。...例如,对于单元格A2中的数据(54678)来说,处于排序后的列表顶部,没有数据在其前面,因此为0;而数据(SD-987-56)在排序后有3个数据在其前面,因此为3。在公式中需要能够创建出这些数字。...:A5)^0代替公式中的数组常量: =MMULT(--(A2:A5>TRANSPOSE(A2:A5)),ROW(A2:A5)^0) 如果不希望空单元格导致公式失败,使用IF(A2:A5””,A2:A5

5.4K10
  • 与机器学习算法相关的数据结构

    在执行矩阵运算时,你必须从令人眼花缭乱的各种库、数据类型甚至语言中进行选择。...虽然二叉树中的排序受到约束,但它绝不是唯一的,并且根据插入的顺序,可以在许多不同的配置中排列相同的列表。 有几种转换可以应用于树,以使其更加平衡。...通常,顶部的最高排序值是从堆中提取的,以便对列表进行排序。与树不同,大多数堆只是存储在数组中,元素之间的关系仅是隐式的。 堆叠 堆栈被定义为“先进后出”,一个元素被推到堆栈顶部,覆盖前一个元素。...队列在实时编程中非常有用,因此程序可以维护要处理的作业列表。集合由非重复元素的无序列表组成。如果您添加了一个已经在集合中的元素,则不会有任何更改。...如何在LIBSVM库中重构核函数的计算? 6. 文本中描述的哪些数据结构是抽象类型? 7. 你可以使用什么内部表示/数据结构来实现抽象数据类型?是否有未列入上述清单的?

    2.4K30

    Java集合类详解

    如何遍历Collection中的每一个元素?...历史集合类,之所以这样命名是因为从 Java 类库 1.0 发行版就开始沿用至今了。 如果从历史集合类转换到新的框架类,主要差异之一在于所有的操作都和新类不同步。...Set中不包含重复的元素,即Set中不存两个这样的元素e1和e2,使得e1.equals(e2)为true。...用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。 与 set 不同,列表通常允许重复的元素。...还提供了一个方法来获取从列表中指定位置开始的列表迭代器。 List 接口提供了两种搜索指定对象的方法。从性能的观点来看,应该小心使用这些方法。在很多实现中,它们将执行高开销的线性搜索。

    94020

    ChatGPT为啥这么强:万字长文详解 by WolframAlpha之父

    在这种(“零度”)情况下,很快就会出现相当混乱和重复的情况。 但如果不总是挑选 “顶级”词,而是有时随机挑选 “非顶级 “词(“随机性”对应 “温度”为0.8)呢?...我们就又可以续写文本了: 而每次这样做,都会有不同的随机选择,对应的文本也会不同。...ChatGPT总是基于概率来选择下一个单词。但这些概率从何而来呢? 让我们先从一个更简单的问题开始。当我们考虑逐字母(而非逐词)生成英文文本,该如何确定每个字母的概率呢?...而且神经网络的传统也认为,只要初始设置“大致正确”,通过足够的训练,通常可以自动调整细节,而不需要真正“理解神经网络是如何进行工程配置的”。...本质上,它将token序列的原始embedding集合转换为最终集合。而ChatGPT的特定工作方式是选择该集合中的最后一个embedding,并对其进行“解码”,以产生下一个token的概率列表。

    81060

    ChatGPT为啥这么强:万字长文详解 by WolframAlpha之父

    在这种(”零度”)情况下,很快就会出现相当混乱和重复的情况。 但如果不总是挑选 “顶级 “词,而是有时随机挑选 “非顶级 “词(”随机性 “对应 “温度 “为0.8)呢?...我们就又可以续写文本了: 而每次这样做,都会有不同的随机选择,对应的文本也会不同。...ChatGPT总是基于概率来选择下一个单词。但这些概率从何而来呢? 让我们先从一个更简单的问题开始。当我们考虑逐字母(而非逐词)生成英文文本,该如何确定每个字母的概率呢?...而且神经网络的传统也认为,只要初始设置“大致正确”,通过足够的训练,通常可以自动调整细节,而不需要真正“理解神经网络是如何进行工程配置的”。...本质上,它将token序列的原始embedding集合转换为最终集合。而ChatGPT的特定工作方式是选择该集合中的最后一个embedding,并对其进行“解码”,以产生下一个token的概率列表。

    61410

    Ask Apple 2022 与 SwiftUI 有关的问答(下)

    快速检索数组元素Q:为什么没有简单的方法将 TABLE 选择的行映射到提供表内容的数组元素上?似乎唯一的方法是在数组中搜索匹配的 id 值,这对于大表来说似乎效率很低。...A:用数组索引来存储选择是很脆弱的:如果数组发生了突变,选择就会变得不同步。Swift Collections[6] 有一个 OrderedDictionary,可能会对你有所帮助。...创建从底部开始的滚动视图Q:我如何实现一个在底部对齐的滚动视图,在 macOS 上会不会有糟糕的性能?...Swiftcord[12] 的代码展示了如何在 SwiftUI 下实现倒置列表。阅读 优化在 SwiftUI List 中显示大数据集的响应效率[13] 一文,了解苹果工程师推荐的方法。...因为这些使用并不有害,我们不希望开发者因为使用了新的编译器版本而处理一堆的警告。

    14.8K30

    70个NumPy练习:在Python下一举搞定机器学习矩阵运算

    难度:2 问题:将arr数组中的所有奇数替换为-1而不更改arr数组 输入: 输出: 答案: 7.如何重塑数组?...难度:3: 问题:选择没有nan值的iris_2d数组的行。 答案: 36.如何找到numpy数组的两列之间的相关性?...难度:3 问题:在给定的numpy数组中找到重复的条目(从第2个起),并将它们标记为True。第一次出现应该是False。 输出: 答案: 59.如何找到numpy中的分组平均值?...输出: 答案: 65.如何找到数组中第n个重复项的索引 难度:2 问题:找出x中第1个重复5次的索引。...难度:2 问题:创建一个长度为10的numpy数组,从5开始,在连续数字之间有一个3的步长。 答案: 69.如何填写不规则的numpy日期系列中的缺失日期? 难度:3 问题:给定一个不连续的日期数组。

    20.7K42

    Excel的匹配函数全应用

    重复一遍,找什么,在哪里找,返回第几列,最后一个参数为空。 第一部分:Vlookup常见错误 本次课程不讨论拼写错误,直接和大家分享Vlookup常见错误一。第一个错误是什么呢?...从图片中可以发现excel也知道大家容易遇到这样的错误,所以一般情况下数字会右对齐,文本会左对齐,但是如果你把所有单元格都选择了居中对齐,excel自带的提示效果就消失了。...从数据库导出的数字很多时候都是用文本形式进行存储的,但是本案例是如何输入右面的数字6为文本的,介绍一个方法,先输入英文下的单引号,然后输入数字,此时的数字就是以文本形式存储的。...模糊匹配的关键不是函数的用法,而是如何根据刚刚说了一串的文本条件(大于8分怎样,大于六分怎样的文本)转化为excel可识别的辅助列表。 大家看一下辅助表的创建过程。...最后将所有返回值代入Lookup函数,就可以看到lookup函数第一个参数是1,第二个参数是一个数组(前三个都是错误,第四个是0的数组),第三个参数就是不同的评分。

    3.8K51

    jQuery选择器和选取方法

    :enabled 匹配没有禁用的元素 :eq(n) 匹配基于文档顺序、序号从0开始的选中列表中的第n个元素(jQuery的扩展) :even 匹配列表中偶数序号的元素。...注意:这与“:first”不同 :gt(n) 匹配基于文档顺序、序号从0开始的选中列表中序号大于n的元素( jQuery的扩展) :has(sel) 匹配的元素拥有匹配内嵌选择器sel的子孙元素...注意:这与“:last”不同 :lt(n) 匹配基于文档顺序、序号从0开始的选中列表中序号小于n的元素( jQuery的扩展) :not(sel) 匹配的元素不匹配内嵌选择器sel :nth...注意该过滤器的序号是从1开始的,因此如果一个元素是其父节点的第一个子元素,会认为它是奇数元素,匹配的是3n+1,而不是3n。...要和“:even以及“:odd”过滤器区分开来,后者匹配的序号是从0开始的。 :odd 匹配列表中奇数(从0开始)序号的元素。

    5.2K40

    快速掌握Series~创建Series

    如何创建Series? a 什么是Series? Series是一种类似于一维数组的对象,与一维数组对象不同的是Series带有标签(索引),通俗来说就是一维带标签(索引)的一维数组。...▲带有索引的一维数组 b 如何创建Series? Series是一维带标签(索引)的一维数组,对于Series最关键的也就是索引index和与之对应的value值。...value值的长度一致,如果不一致会抛出异常(这点需要格外的注意); 如果不设置索引,默认索引是从0到n-1的序列值[其中n为data值的长度]; 如果data的类型为dict字典类型,对应的字典中的key...是ndarray数组类型,而index分别指定了无参数的默认index索引、指定list列表以及指定ndarray数组类型的index。...由于Python中字典中的key不能够重复,所以虽然Series允许使用有重复的index值,但是如果使用字典创建Series的时候肯定不会有相同的index值。

    1.3K20

    Leetcode No.40 组合总和 II(DFS)

    个数,而 rest 表示我们还需要选择和为rest 的数放入列表作为一个组合; 对于当前的第 pos 个数,我们有两种方法:选或者不选。...每次调用递归函数前,如果我们选了那个数,就需要将其放入列表的末尾,该列表中存储了我们选的所有数。在回溯时,如果我们选了那个数,就要将其从列表的末尾删除。...上述算法就是一个标准的递归 + 回溯算法,但是它并不适用于本题。这是因为题目描述中规定了解集不能包含重复的组合,而上述的算法中并没有去除重复的组合。...如何去掉重复的集合(重点) 为了使得解集不包含重复的组合。...除了存储答案的数组外,我们需要O(n) 的空间存储列表freq、递归中存储当前选择的数的列表、以及递归需要的栈。

    59120

    VOICE DESIGN GUIDE 语音设计指南翻译

    写人们如何说话,而不是他们如何读写。 避免重复的短语。 指示用户何时需要提供信息。 不要以为用户知道该怎么做或将会发生什么。 显然目前的选择。 一般来说,一次只能提供三个以上的选择。...关键词是在以任务和信息为重点的技能普遍。设计的填充词如何话语出现,然后选择从内置的目录填充或提供自己的关键词的填充。...5) 回答多样性 使用多样性将自然和较少机器人的感觉注入到对话中,并使重复交互听起来不那么死记硬背或记忆,例如通过从相同提示的合理同义词中随机选择。...通常,读取列表中的前几项不应超过20秒。 从阅读两个到五个项目开始,并根据以下内容进行调整: 用户对列表项目的熟悉程度如何。 项目名称需要多长时间和语音友好。...通过Echo Spot,用户每次只能看到一个列表项目,而不管选择了哪个列表模板,但使用Echo Show时,请确保选择一种布局来帮助用户快速浏览项目。

    1.8K30

    海量数据处理

    而拉链法中可取α≥1,且结点较大时,拉链法中增加的指针域可忽略不计,因此节省空间; 在用拉链法构造的散列表中,删除结点的操作易于实现。只要简单地删去链表上相应的结点即可。...拉链法的缺点:指针需要额外的空间,故当结点规模较小时,开放定址法较为节省空间,而若将节省的指针空间用来扩大散列表的规模,可使装填因子变小,这又减少了开放定址法中的冲突,从而提高平均查找速度。   ...2、Bit-map法 位图法的基本原理是使用位数组来表示某些元素是否存在,如从8位电话中查找重复号码。   ...2)还有一个比较重要的问题,如何根据输入元素个数n,确定位数组m的大小及hash函数个数,即hash函数选择会影响算法的效果。当hash函数个数k=(ln2)*(m/n)时错误率最小。...Trie树一般具有3个基本特性:   (1)根节点不包含字符,除根节点之外的每一个节点都只包含一个字符;   (2)从根节点到某一节点,路径上所经过的字符连接起来,为该节点对应的字符串;   (3)每个节点的所有子节点包含的字符都不同

    2.1K140

    如何设计一个搜索引擎

    :Word 文档中单词拼写检查功能是如何实现的?...O(logn),在有序的数据结构中是特别bug的,但是如何进行快速的排序,有如下常用的排序算法: 实际应用: ①、如何根据年龄给100W用户排序?...需要注意的是:布隆过滤器是在内存中的,如果机器重启,布隆过滤器就会被清空,防止网页重复爬取,需要持久化布隆过滤器,比如定时每半小时持久化一次。...⑤、通过临时索引创建倒排索引 ⑥、记录单词编号在倒排索引文件的偏移位置 帮助我们快速地查找某个单词编号在倒排索引中存储的位置,进而快速地从倒排索引中读取单词编号对应的网页编号列表。...①、当用户在搜索框中,输入某个查询文本的时候,我们先对用户输入的文本进行分词处理。假设分词之后,我们得到 k 个单词。

    2.5K10

    HTML、CSS、JavaScript学习总结

    @ 样式表的首要目的是为网页上的元素精确定位。其次,把网页上的内容结构和格式控制相分离。即html的标签主要是定义网页的内容,而CSS决定这些网页内容如何显示。...– 注释 –>)隐藏内容而不让它显示 内嵌样式-2 选择器 选择器分为: • HTML 选择器 • CLASS 类选择器 • ID 选择器 • 样式选择器 • HTML标签选择器:在HTML页面中使用的标签...当你改变这个样式表文件时,所有页面的样式都随之而改变。在制作大量相同样式页面的网站时,非常有用,不仅减少了重复的工作量,而且有利于以后的修改、编辑,浏览时也减少了重复下载代码。...,”c”];//通方案1 • 组合数组的创建 – var objArr = [[new Date()],”abc”,1234];//该数组包含三种数据类型,分别是对象类型,字符串类型和数字类型 • 如何引用元素...:objArr[index]的形式来使用数组中的一个元素,index是元素在数组的索引,从0开始计算 • 数组的length属性:表示数组的长度 • 多维数组:js本身是没有多维数组概念,要通过组合数组来创建

    3.2K20

    PHP使用JSON

    例如,可以表示数组和复杂的对象,而不仅仅是键和值的简单列表。...在这个示例中,只有一个名为 people 的变量,值是包含三个条目的数组,每个条目是一个人的记录,其中包含名、姓和电子邮件地址。上面的示例演示如何用括号将记录组合成一个值。...但是还应该注意,在不同的主条目(programmers、authors 和 musicians)之间,记录中实际的名称/值对可以不一样。...所以,在同样的数据结构中,可以改变表示数据的方式,甚至可以以不同方式表示同一事物。 掌握了 JSON 格式之后,在 JavaScript 中使用它就很简单了。...我就不重复概念了。通俗的说,它是一种数据的存储格式,就像PHP序列化后的字符串一样。它是一种数据描述。比如我们将一 个数组序列化后存放,就可以很容易的反序列化后应用。

    2.6K30

    python 面试题-收集100+面试题笔试题

    输出指定字符串A在字符串B中第一次出现的位置,如果B中不包含A,则输出-1 从 0 开始计数 A = “hello” B = “hi how are you hello world, hello yoyo...求满足规律的 100 以内的所有数据 第3章 列表练习题 3.1 反转(判断对称) 如何判断一个数组是对称数组: 要求:判断数组元素是否对称。...2.a或b中包含的所有元素 3.a中包含而集合b中不包含的元素 第5章 综合练习题(上机考试) 5.1 有1、2、3、4组成无重复数的三位数(排列组合) 有1、2、3、4数字能组成多少互不相同无重复数的三位数...文本中每行中长度超过3的单词 在以下文本中找出 每行中长度超过3的单词: Call me Ishmael....例如:“hello”就包含重复字符‘l’,而“world”就不包含重复字符, 有重复打印True, 没重复打印False 5.20 找出一个字符串中子串不含有重复字符的最长子串(子串) 给定一个字符串,

    7K20

    【Linux系列】批量注释

    文章还介绍了几种PHP中的文件包含函数,包括include()、include_once()、require()和require_once(),以及它们在找不到文件时的不同行为。...在编程和文本编辑的世界中,Vim 是一个备受推崇的编辑器,以其强大的功能和灵活性而闻名。对于那些经常需要在多行中进行相同操作的开发者来说,Vim 的块插入功能无疑是一个巨大的时间节省者。...块插入简介 块插入是一种在 Vim 中批量编辑多行文本的方法。它允许用户在多个行的同一列位置插入或修改文本,而无需手动重复操作。...由于你已经在可视块模式下,所以你的输入将被复制到所有选中的行中。这意味着你可以一次性在多行中插入相同的文本,而无需重复输入。 退出插入模式 完成文本输入后,按Esc键退出插入模式。...例如,如果你需要在多行代码的末尾添加//注释,可以使用块插入快速完成。 初始化数组或列表:在需要初始化多个变量或数组元素时,块插入可以帮你快速在多行中插入相同的初始值。

    9800
    领券