js 数组随机字符串(广告不重复)

首先需要了解“数组”和“随机数”的概念。

数组

数组是一组按照顺序排列的值的集合。值可以是任何数据类型,如字符串、数字、对象等。在 JavaScript 中,数组用方括号表示 [],并用逗号分隔其中的值。

随机数

随机数是指没有规律可循的随机输出的数字或序列。在 JavaScript 中,可以通过 Math.random() 方法生成一个介于 0 (包括)和 1 (不包括)之间的随机数。

了解了数组和随机数的概念后,接下来讲解如何实现“js 数组随机字符串(广告不重复)”:

首先,我们需要创建一个数组保存广告的文本内容,然后随机生成一个数组下标来选取其中的一个广告内容,这样就可以实现随机选取广告的功能。

但是,为了避免出现重复的广告,我们需要使用一个数组来保存已经输出的广告下标。每次生成随机数后,先判断该随机数对应的广告是否已经输出过,如果已经输出过,则继续生成随机数,直到生成一个未曾输出过的广告。

下面是示例代码:

// 定义一个数组,保存广告内容
var ads = [
  '超级好用的工具箱,快来试试吧!',
  '最新鲜的手机消息,全都在这里!',
  '轻松学习编程,从这里开始!',
  '大减价,今日最后一天!'
];

// 定义一个数组,保存已经输出的广告下标
var usedIndexes = [];

// 随机输出一个广告
function getRandomAd() {
  // 生成随机数
  var randomIndex = Math.floor(Math.random() * ads.length);

  // 判断该随机数对应的广告是否已经输出过
  if (usedIndexes.indexOf(randomIndex) === -1) {
    // 如果未曾输出过,则将该广告下标保存到已经输出的数组中
    usedIndexes.push(randomIndex);

    // 返回该随机数对应的广告内容
    return ads[randomIndex];
  } else {
    // 如果已经输出过,则继续生成随机数,直到生成一个未曾输出过的广告
    return getRandomAd();
  }
}

// 示例1:连续输出5个不重复的广告
for (var i = 0; i < 5; i++) {
  console.log(getRandomAd());
}

// 示例2:将不重复的广告用逗号分隔成一个字符串
var adString = '';
for (var j = 0; j < ads.length; j++) {
  adString += getRandomAd();
  if (j < ads.length - 1) {
    adString += ', ';
  }
}
console.log(adString);

在示例1中,通过调用 getRandomAd() 方法,连续输出了5个不重复的广告。

在示例2中,将不重复的广告用逗号分隔成一个字符串,并输出到控制台中。

以上就是“js 数组随机字符串(广告不重复)”攻略的完整内容,希望能对您有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js 数组随机字符串(广告不重复) - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • js clearInterval()方法的定义和用法

    下面是关于“js clearInterval()方法的定义和用法”的完整攻略: clearInterval()方法的定义和用法 定义 clearInterval()是用于关闭由setInterval()方法设置的定时器的方法,它的语法如下: clearInterval(intervalID) 参数intervalID是通过setInterval()方法返回的…

    JavaScript 2023年6月11日
    00
  • Layui Form 自定义验证的实例代码

    下面是对于“Layui Form 自定义验证的实例代码”完整攻略的详细讲解。 什么是Layui Form 自定义验证? Layui是一个轻量级易用的前端框架,其中的Form模块提供了丰富的表单支持。在我们使用表单时,有时需要实现复杂的自定义验证要求,这时就需要使用Layui Form自定义验证来实现我们的需求。 Layui Form自定义验证主要是通过使用L…

    JavaScript 2023年6月10日
    00
  • $()JS小技巧

    $()JS小技巧 在前端开发中,我们经常需要对DOM元素进行操作,而jQuery库可以帮助我们更方便地实现这些操作。其中一个最常用的方法是$(),它可以获取DOM元素并对其进行操作。 基本语法 $()是jQuery的一种基本语法,它可以通过选择器来选取HTML元素,并返回一个jQuery对象。基本语法如下: $(selector).action() 其中的s…

    JavaScript 2023年5月18日
    00
  • Android React-Native通信数据模型分析

    Android React-Native通信数据模型分析 什么是React-Native? React-Native是一种使用JavaScript编写的移动应用程序开发框架。它使用React框架来构建用户界面,并使用原生组件来实现不同平台上的应用程序行为。 React-Native将JavaScript代码编译成原生代码,这使得React-Native应用程…

    JavaScript 2023年5月28日
    00
  • 用Javascript实现UTF8编码转换成gb2312编码

    要想用Javascript实现UTF8编码转换成gb2312编码,可以按以下步骤进行: 1. 将UTF8字符串解析为十六进制数组 使用 Javascript 中的 String 类型的 charCodeAt 方法,可以得到UTF8字符串的每个字符的 Unicode 码值。然后将 Unicode 码值转换为十六进制表达形式,下面是示例代码: // UTF8字符…

    JavaScript 2023年5月20日
    00
  • node.js Web应用框架Express入门指南

    Node.js Web应用框架Express入门指南 Express是基于Node.js开发的Web应用框架,它提供了一组API来帮助开发者快速地创建Web应用程序。本指南将介绍如何入门使用Express,包括安装、配置、路由、模板引擎等方面的内容。 安装Express 首先需要安装Node.js和npm。安装完成后,可打开终端窗口,输入以下命令安装Expr…

    JavaScript 2023年5月27日
    00
  • 基于HTML5的齿轮动画特效

    下面我将为你详细讲解“基于HTML5的齿轮动画特效”的完整攻略。 理解齿轮运动原理 在制作齿轮动画特效之前,我们需要先理解齿轮运动的原理。简单地说,齿轮是一种能够传递转动的力量或运动的机械装置。同时,两个以上的齿轮之间可以利用齿轮齿与齿间的啮合来传递力量,实现特定的运动方式。 创建HTML结构 在 HTML 页面上创建齿轮的结构。我们使用 <ul&gt…

    JavaScript 2023年6月11日
    00
  • JS在Array数组中按指定位置删除或添加元素对象方法示例

    JS在Array数组中按指定位置删除元素对象方法 在JS中,我们可以利用splice()方法来在Array数组中按指定位置删除元素对象。 splice()方法的用法如下: array.splice(start[, deleteCount[, item1[, item2[, …]]]]) 参数说明: start:必须,表示开始删除或添加的位置。 delet…

    JavaScript 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部