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

yizhihongxing

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

数组

数组是一组按照顺序排列的值的集合。值可以是任何数据类型,如字符串、数字、对象等。在 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在浏览器中创建下载文件

    要在浏览器中创建并下载文件,可以通过以下步骤: 创建Blob对象 在JavaScript中,Blob对象代表了一个不可变的、原始数据的类文件对象,可以用它创建一个新文件。 例如,以下代码将创建一个新的Blob对象: const data = "Hello, World!" const blob = new Blob([data], { t…

    JavaScript 2023年5月27日
    00
  • 5款JavaScript代码压缩工具推荐

    当我们的JavaScript代码变得越来越复杂时,它的大小也会随之增加。这意味着每次用户打开我们的网站时,都要下载更多的JavaScript代码。为了优化加载速度和性能,许多开发人员选择使用JavaScript压缩工具来减小代码的大小。本文将为您介绍五个优秀的JavaScript代码压缩工具,并解释如何在您的项目中使用它们。 1. UglifyJS Ugli…

    JavaScript 2023年5月27日
    00
  • javascript表达式和运算符详解

    JavaScript表达式和运算符详解 本攻略将会详细讲解JavaScript表达式和运算符的相关知识点。 1. 表达式 表达式是JavaScript中的一个基本概念,它用于计算一个值。一个表达式可以包含一个或多个常量、变量、操作符等元素。 例如,以下是一些JavaScript表达式的例子: 2 + 3 x + 5 "hello" + &…

    JavaScript 2023年5月27日
    00
  • alert中断settimeout计时功能

    当Javascript代码执行到setTimeout函数时,它会将回调函数放到执行队列里,并设置一个计时器来等待指定的延迟时间。计时器开始后,JS代码会继续执行后续的代码,而不会等待计时器结束后再执行。因此,在执行setTimeout的代码后,如果发生代码中断,会导致计时器无法正常触发,也就是说setTimeout的计时功能被中断了。 其中,常见的中断代码包…

    JavaScript 2023年5月28日
    00
  • JS数组方法reverse()用法实例分析

    JS数组方法reverse()用法实例分析 reverse() 方法 reverse() 方法用于颠倒数组中元素的顺序,即实现数组的反转。 语法 array.reverse() 参数 无 返回值 被反转后的数组。 示例一 let arr = [1, 2, 3, 4, 5]; console.log("反转前的数组: ", arr); ar…

    JavaScript 2023年5月27日
    00
  • javascript动态添加、修改、删除对象的属性与方法详解

    JavaScript动态添加、修改、删除对象的属性与方法详解 在JavaScript中,我们可以随时通过操作对象的属性和方法来动态地改变对象的行为。这篇文章将详细讲解如何添加、修改和删除对象的属性与方法。 1. 添加属性 我们可以通过两种方式为对象添加属性:点表示法和方括号表示法。 1.1 点表示法 点表示法是最常见的一种添加属性的方式,它将属性名作为对象的…

    JavaScript 2023年5月27日
    00
  • JavaScript中的”=、==、===”区别讲解

    当我们使用JavaScript进行开发的时候,经常需要判断两个变量是否相等或者给一个变量赋值,这时我们就需要使用到 =、== 以及 === 这些操作符。这里我们就来详细讲解一下它们的区别与应用。 = 赋值操作符 在JavaScript中,单个等号(=)表示将右侧的值赋给左侧的变量。例如下面的代码将数值1赋给变量x: var x; x = 1; == 相等操作…

    JavaScript 2023年5月17日
    00
  • JS跨浏览器解析XML应用过程详解

    JS跨浏览器解析XML应用过程详解 在前端开发中,常常需要使用XML数据格式,而不同浏览器的XML解析方式有所不同,此时需要JS跨浏览器解析XML,以下是详细的应用过程: 1. 创建XMLHttpRequest对象 在JS中,我们可以使用XMLHttpRequest对象进行XML数据的读取和发送。在创建XMLHttpRequest对象时,需要根据当前浏览器选…

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