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日

相关文章

  • 浅谈对于“不用setInterval,用setTimeout”的理解

    浅谈对于“不用setInterval,用setTimeout”的理解 对于JavaScript中定时器的使用,我们常常会听到这样一种建议:不要使用setInterval,而应该使用setTimeout。 为什么会这样说呢?这是因为使用setInterval存在一些风险,比如说多个定时器的执行时间可能会出现重叠,导致程序出现不可预料的异常。 相反,使用setT…

    JavaScript 2023年6月11日
    00
  • bigScreen大屏配置选项无法和画布中心的展示联动解决

    要解决bigScreen大屏配置选项无法和画布中心的展示联动,有以下几个步骤: 1. 设置bigScreen配置选项 首先,在BigScreen的配置对象中,要设置相关的配置选项。具体来说,需要设置以下两个参数: scale: 设定画布的初始缩放比例,可以自行设置,建议在0.5-2之间取值。 offset: 设定画布的初始偏移量,以像素值进行设置,可以自行设…

    JavaScript 2023年6月11日
    00
  • JavaScript创建对象的几种方式及关于this指向问题

    当我们使用 JavaScript 开发应用时, 经常要通过创建对象来实现某些功能。JavaScript 中有多种方式可以创建对象,下面是几种常见的方法。 1. 字面量方式 最常见的创建对象的方式就是使用字面量方式,我们使用对象字面量来创建一个对象,并将其赋值给一个变量或常量。 const obj = { name: ‘Tom’, age: 20 } 对象字面…

    JavaScript 2023年5月27日
    00
  • 使用JavaScript获取电池状态的方法

    获取电池状态是Web开发中比较常见的需求之一,可以通过JavaScript获取电池状态,从而更好地帮助用户管理电池电量。 示例一:使用Battery API获取电池状态 在现代浏览器中,我们可以通过使用Battery API获取电池状态。首先,需要检测浏览器是否支持Battery API: if (‘getBattery’ in navigator) { /…

    JavaScript 2023年6月11日
    00
  • JAVASCRIPT实现的WEB页面跳转以及页面间传值方法

    请看以下示范: JAVASCRIPT实现的WEB页面跳转以及页面间传值 页面跳转 在 JavaScript 中,可以通过修改 window.location 对象的属性来实现页面跳转。 直接跳转 // 直接跳转到目标 URL window.location = "https://www.example.com"; 重定向跳转 // 通过重…

    JavaScript 2023年6月11日
    00
  • JavaScript判断是否为数组的各种方法汇总

    下面我详细来讲解“JavaScript判断是否为数组的各种方法汇总”的完整攻略。 1. 使用Array.isArray()判断 首先,使用Array.isArray()方法是最简单、最有效的判断是否为数组的方法。这个方法返回布尔值,如果是数组则返回true,否则返回false。 示例代码如下: let arr = [1,2,3]; let isArr = A…

    JavaScript 2023年5月27日
    00
  • js获取form表单所有数据的简单方法

    获取表单数据是前端开发中常用的操作之一。下面是获取form表单所有数据的简单方法的攻略。 步骤一:获取form元素 首先,我们需要通过document.querySelector()或document.getElementById()方法获取到form元素。这里以document.getElementById()方法为例,示例代码如下: const form…

    JavaScript 2023年6月10日
    00
  • 用jQuery将JavaScript对象转换为querystring查询字符串的方法

    将JavaScript对象转换为querystring查询字符串是前端开发中非常常用的操作之一,可以通过jQuery的$.param()方法实现。 具体步骤如下: 1.创建一个JavaScript对象,用于测试示例。 例如,现在有一个名为person的JavaScript对象: var person = { name: "Tom", ag…

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